Ensure Collection#get does not return a false negative during the change:attr event

As explained by @jrreed in #2177, it's possible for `collection.get(model)` to incorrectly return `undefined` while the model's id is being set (see added test). I'm fairly certain this won't break any existing code, but please take a look before I merge.