Search with typeahead

Switched everything over to use Typeahead.js and Bloodhound.js. Tried to keep proper formatting intact, but a second look would be appreciated. Will post screenshots as well. 
I think it's clearer to break up these two lines as:

```python
        courses = list(m.Course.objects().only('id', 'name', '_keywords'))
        sorted_courses = sorted(courses, key=lambda c: c.id)
```