Fix incompat with Backbone master: add `|| options.remove` to `add` overload.

Also, fix non-working short circuiting for non-RelationalModels on collection methods.
Rename findOrCreate `update` option to `merge`, like Backbone's naming.

Backbone uses `update` on fetch to indicate the update method should be called,
and `merge` on add to indicate models should be updated.
Update test for the change from findOrCreate `update` to `merge`
Backbone master compat: guard against models that weren't actually added
Small performance improvement on `remove`; call once, instead of in a loop.
test showing change events shouldn't fire too often