onSelect callback

Added onSelect callback, this works hand in hand with createSearchChoice for input[type=hidden] element.
This is important for use case when one wants to allow the user to enter values not in the list and want
to manipulate the value assigned on the ng-model instead of pure object value.