Fixes #3028 assign collection in _prepareModel

So looking at it again, the `_addReference` is more about events and adding to the internal reference hashes than the `collection` property, so I still think this is alright... it reverts to the previous behavior for this case, but also removes `model.collection` in cases of failure with `wait:true`.

Let me know if you disagree on that second piece, but I would assume that attempting to add a model to a collection shouldn't set the "collection" attribute on the model if it's not actually added.