Typeahead roles

Adds roles to the typeahead dropdown.

Looks like this:

![screen shot 2014-10-01 at 9 59 20 am](https://cloud.githubusercontent.com/assets/1903518/4476139/2bb04f8c-4973-11e4-944b-da5a988d916c.png)

- shows collaborators on top, but shows duplicates. We are planning on fixing that issue with the migration to select2

Example:

![screen shot 2014-10-01 at 10 00 20 am](https://cloud.githubusercontent.com/assets/1903518/4476153/4e1a06ee-4973-11e4-8005-19f02ee8e799.png)



There are a few other things to consider on this one.  
* The typeahead is getting it's data from the `FilteredUsersController` on the rails side.
* They're using the  `users#show` route to get actual `ETahi.User` models for the purpose of setting associations inside the participants mixin (code inlined below)
``` coffeescript
saveNewParticipant: (newParticipantId) ->
      newParticipant = this.store.find 'user', newParticipantId
      newParticipant.then (user)=>
         @get('participants').addObject(user)
```
In short we want get a user model but from a different route than the standard `show` action, right?
I think there are 2 ways we could do this that still seem kinda idiomatic.
1.  Use a [query] (http://emberjs.com/guides/models/finding-records/#toc_querying-for-records) that hits the `user#index` route and dispatch to something more appropriate.  Based on the params we pass (`type=currentUser`, source=`participant` and `taskId=5` or something) we can apply permissions in that way.  I don't like that this will short-circuit our normal policy stuff unless we do something screwy, right?
2. We use the reliable one-two punch of `Ember.$.ajax` and `store.pushPayload`.  We can easily wrap the lower-level stuff in a service object.  `ETahi.UserLookup.fetchUser({taskId: 5, type: 'participant'}).