Limit "looping" remote updates

I noticed some serious problems rapidly writing a large number of changes to multiple models in a Firebase-synched collection when more than one client was accessing the data simultaneously. The changing data from the client actively issuing changes was not always "winning". Instead, many times the passive client would issue interfering changes as a result of being notified of the remote data changes.

Two fixes:

1. Don't update remote data for a model as a result of the local model
getting updated from the remote data.
2. When updating remote data for a model, only submit the changed
attributes, not all attributes.