Added _processedBy option to deselect methods; added done status
Added event queue, fixed premature triggering of events when sharing models

In some cases, select:* events were fired before the selection had propagated
across all collections sharing a model
Delayed events of deselect sub actions until all actions are complete

With model sharing enabled, sometimes deselect events fired while some select
actions were still pending. Now events are fired only if there aren't any
actions pending, and the new equilibrium has been reached.
Combined select, deselect sub actions into a single select:some event for Select.Many

Previously, two events were fired when a selection triggered deselections
in a Select.Many collection (the deselections themselves are caused by
Select.One collections with which the models are shared).

One event event was fired for the deselection (select:none or select:some),
another for the selection (select:some), each with a diff object reflecting
its sub action. Now, these events are replaced by a single select:some
event.
Updated readme
Reformatted code, updated build