Testing Patches Need Lovin

I've got four patches improving test coverage in various parts of the
framework that could use some love. The gaps were found using heckle,
and I think I've attached the failing mutations to most of the
tickets.

http://dev.rubyonrails.org/ticket/7152
http://dev.rubyonrails.org/ticket/7122
http://dev.rubyonrails.org/ticket/7117
http://dev.rubyonrails.org/ticket/7110

Do note that the patch in 7110 needs Mocha 0.3.3 (released yesterday).
There was a bug that caused other problems, but it has been fixed.

Here are a few more test coverage patches that resulted from the rcov
looking glass:

http://dev.rubyonrails.org/ticket/7166
http://dev.rubyonrails.org/ticket/7137

I do as well. The first one is actually a fairly critical bug. Borderline blocker. It has to do with creation of the join model with has_many :through:

http://dev.rubyonrails.org/ticket/7153

The others (mostly just test coverage from heckle - thanks Kevin)

http://dev.rubyonrails.org/ticket/7158
http://dev.rubyonrails.org/ticket/7173
http://dev.rubyonrails.org/ticket/7176
http://dev.rubyonrails.org/ticket/7179
http://dev.rubyonrails.org/ticket/7180
http://dev.rubyonrails.org/ticket/7182