Ensures selectionChanged trigger fires atomically

Hi David,

As we discussed in PR #22, this change is on the dev branch now, and is just the part that ensures "selectionChanged" events are triggered the right number of times.  While integrating this, I found you had indeed already added the `silent : true` option in `_restoreSelection`, though there was a minor syntax error caught by the new tests.

Please let me know if this works for you.

Thanks,

Tim