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. 
JS trick:

```js
item.program = item.program || "&nbsp";
```

... which is equivalent to

```js
if (!item.program) {
  item.program = "&nbsp";
}
```