Patch for bug in preload_associations when first object has nil associate

This fix seems pretty straightforward to me, but review would be
appreciated in case the implementation that was causing this problem
was done for a good reason.

http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1630-association-preload-include-chain-stops-if-it-hits-a-nil-object

If you have a singular association that is not guaranteed to be
populated, when trying to include past that the preloading stops if
the first returned value was nil.

user has_one lunch
lunch has_many tasty_snacks

User.find(:all, :include => {:lunch => :tasty_snacks})

If the first user returned from the find does NOT have a lunch,
tasty_snacks are not loaded for any of the users, even if they have
lunches.