Allow new values (for collections)

Introduced a new attribute 'allow'new'values'. If this is set to true, it is possible to select values which do not exist in the choices. This is helpful if you want the user to be able to create new entries on the fly.

It is really great that you ported select2 to native angular. I was not able to get this behavior in select2 with the angular-ui-select2 library.

It would be possible to make this available for complex objects (not just collections) as well. One idea would be to specify a function which will be called with the search string which then returns an object. Let me know if you would like to see this. I am not sure if there are cases where this makes sense.