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
We should avoid testing the internals. Can you rewrite this without `changed_for_autosave?`? Basically you can just make up an example that would otherwise blowup without this patch.