Don't autosave unchanged has_one through records

The bug is with the autosave logic. It was calling save on all has_one through records in the callbacks so that meant that the after_commit callback gets called on the has_one through records even though they don't participate in the transaction!
The other test cases don't seem to mention the specifics of the instances, but rather the general purpose of the test, so maybe something along the lines of `test_should_not_save_has_one_through_model` would fit better?