Selection made: Add an afterSelect callback.

This is a bit of yak-shaving related to some parallel work going on in-house. This PR adds an `afterSelect` parameter to the elemicaSuggest method. This parameter is defined as a function that is used as follows:

* When the user selects a suggestion, the `afterSelect` is invoked with the selected suggestion's JSON object.
* When the user clears a selection, `afterSelect` is invoked with `null` passed in place of a suggestion object.
What happens if a selection is chosen that is the same as the value was before?