Maintain uniques on models whose id is set later (fixes #13)

Yes. Just verified in the console:

```javascript
var User = Backbone.Model.extend({idAttribute: 'username'});
var user = new User({username: 'johndoe'});

user.on('change:id', function () { console.log('id fired'); })
user.on('change:username', function () { console.log('username fired'); })
user.set('username', 'janedoe')
// username fired
```