Fix error when using plain object for collection `set` with custom model idAttribute

There's an issue caused by a combination of factors whereby if you're using a collection that has a model function, a custom idAttribute on the model definition, and pass plain JS objects to the collection's set method, the collection will have an `undefined` idAttribute, wiped the collection, and add the new models with the self-generated `id`, thereby blowing up your entire collection functionality when you'll try to use `collection.get(<id>)`

This fixes that