Fixes fatal error when using plain JS object in collection set

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