Fix potenital infinite recursion in changed_for_autosave?

When associations checked for autosave have a cycle, and
none of them is dirty then changed_for_autosave? will be an
infinite loop. We now remember if we're in the check and
will short circuit the recursion.

Fixes #7809, same fix as #7824
This is too clever for me ;) I'd break it up