Add support for change event propagation.

filter-complete is too low a granularity for changes which need to
only render a portion of a UI. As such, this change creates a change
event when a model in the underlying collection changes.
A modification on sprintly's changes.

Only fires the event if the model was changed,
but not added/removed from the collection.
Also follows the backbone api of trigger("change", model, this)

Made the unit tests much more clear on this.

Fixes #10