Added new controller notation support (controller as ctrl) for typeahead-source attribute
Added confirmOnBlur option
Handles key combinations for confirmKeys option.
Added new option: maxChars.
Fixed bug: input[size] should consider not only text length, but also word-spacing.
Added the ability to disable a tag input area.
Added setting to enable adding existing value; Remove from last to first
Bugfix for angular promise support
Custom class for tags container
add tag to the list on input blur
model update in scope.$apply

Placed the update of the model inside a scope.$apply in order to have the model properly update any other UI elements dependent on it.
added the typeahead and tags directives into one module
fixed recursive entrance in apply caused by the model watch (when the update originates from the UI )
Fix uncaught exception trying to reinitialize tagsinput object
enable confirmkeys configuration in angular
renamed `setQuery` to `val`

Correct me if I'm wrong but I tried the examples and got stuck using the suggested `setQuery` method from typeahead.js to close the suggestion box. During my research I stumpled upon a stackoverflow question which pointed me to the right direction to use the `val` method which closes the suggestion box correctly.
tagClass option bug - turn a tagClass option string into a function that returns the string.
the freeinput has to be out of the typeahead options in order to take effect
Add compability for IE (input size issue)

In IE (tested in IE 10-11, but I think that this issue will be occurred into older versions also) there are issue with attribute "size" of input.
IN some reasons, IE think that all fonts are monospaced, and set the size of input incorrect.
This commit are fix this behavior.
The rest of modern browsers are works well with both solutions.
Added trimValue option