Events capturing when models are re-selected

Here are some of new events, triggered when models are re-selected: 

- `reselected` (model), 
- `reselect:one` (single-select collection), 
- `reselect:any` (multi-select collection). 

The PR is based on #23 (support for model sharing across collections).

There also is a change in the spec: `selectAll` and `deselectAll` no longer fire events when they are a no-op. This had been inconsistent with the behaviour of `select`, which does not trigger an event unless the selection is actually changed.

Tests and documentation are included.