Register models to be searchable

TODO: subclass SearchEngine to disable save signals (they are useless to us) and add methods for manually adding and removing instances
Add context manager from watson to router

Defers search update until all models are saved
Understood docs a bit better, things make sense now

Ignore previous TODO
Fill out EmailSearchAdapter
Changed from Tag search to Inbox search (makes more sense) and pulled in search view
Add custom meta data to search objects
Add our fork of watson until pull request is accepted and released
Search: Filter headers by obj.id and separate out body parts
Search: Add some extra meta variables to save database queries later
Update submodules