_addReference, to mirror _removeReference

I've been working with modifying some collection internals for a few ideas I've had, and things are much easier to extend if there's an central point for both adding & removing the collection reference on the model. It'd make `collection.set` less of a black box, and gives a bit of symmetry between adding & removing the model internally.

It also passes along the `options` object, as is common elsewhere in the library, if (for example) you'd like to be able to set some flags in the `options` object to determine what events should be bound on the model.