Simplify `toJSON` a bit. Ref #191.
test showing change events shouldn't fire too often
test: a collection parse function shouldn't break fetching of parent model
failing test: 'Deep reverse relation starting from a collection'
test: Keep keySource value around if model doesn't exist