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. 
If this is necessary, please remove or amend this commend. This is always what `e.preventDefault()` does, and it's a common enough pattern that it doesn't need in-code explanation.