Add support for dynamic updating of typeahead list

I've added props that allow changing the typeahead list at runtime.
you don't have to and probably shouldn't modify `this.props` in this method. You can see in [React LifeCycle](http://facebook.github.io/react/docs/component-specs.html#updating-componentwillreceiveprops) that `this.props` has the old value and `nextProps` has the new value. The assignment will be handled by React. Therefore, you should use `nextProps` in `setState` instead of `this.props`