Sorry for more complexity, but I thought these changes were worth making:
* Created file "model_sync.py", and made everything global within that module.  I think that's "pythonic".
* In moving around dependencies, I noticed that _unhashable_fields and _always_hash_fields are module-global, but really could be class variables of SyncedModels.  I thought it's worth it to move them into there; the encapsulation makes it clearer what they're actually for.