Check for circular references in checkChanges

Backbone collections set up a circular reference: collection[i] is a reference
to a model, and model.collection is a reference back to the collection.
checkChanges needs to not run in circles when encountering this.

Fixes #79