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. 
Putting this in an `else` case is unnecessary, since the `if` cases returns.

Just do this:

```
if (self.moving) {
  return;
}
self.moving = true;
```