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.
Wondering if we should be explicit about that in docs and tests? Just because it's not always clear what the behavior on a not-changing value is.