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.
Wonder if for clarity we shouldn't define a:

```coffeescript
noop = ->
```

And then use that here instead… As an upside, if we define it in the outer function,
it also ensures all of the no-ops are the same function instead of spawning new
closures for each no-op.