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!
Good catch!