Fix and improvements

- Added a method (modelUpdate) to be called by the model in the
collection to update the indexes in _byId when the model changes
- fix the problem that the comparator !== null or === null was causing
(undefined value was getting by ok causing the _byId to index
collections with undefined id), still need to find a better way to
verify if the variable is valid (maybe just using if (something)
instead, need test)
- Removed some unnecessary variables like add = options.add, by using
the object one the code looks more readable (you know the origin of the
variable inside the method)