Added support for updating typeahead component when ngModel changed

Typeahead component wasn't updating it's value/query when ngModel value was changed programatically. The valueKey thing is there to support complex object in typeahead instead of simple strings.