Dezi search

Just about time to begin reviewing this :)

TODO:
* ~~Figure out what to do with indexed items when their titles change. Currently, the URI in the index is based on the web-ish URI, but perhaps it should just be the ID, so it never changes.~~
* ~~Index things on deploy_dev.~~ Currently there is a script which indexes *everything* wildly. That should be useful on the live system (and it's been useful for recreating the index every few minutes), but for normal development it should just happen at the end of deploy_dev. -- I am so lazy, I just added a message at the end of deploy_dev. Close enough for now.
* ~~Figure out where the indices should go (they are directories) on the live machine. Right now they just live in $PWD, but I'm not even sure where that is for live.~~ - now set in the config.
* ~~Fix the `ducky` parameter for Help pages -- they do not actually have a `->u` method, since they depend on languages. Might be some way to work around that though.~~ - They now have ->u.
* ~~Either start the dezi server automatically for development, or add a `warn "Run script/dezi_server.pl if you need search to work!"`~~
* ~~Make me review this again so I actually know what else I forgot.~~ - It's not that bad!

* ~~Allow searching for !things. The exclamation mark is interpreted as NOT, and the config cannot alter that.~~ Perhaps `s/(?:^|(?<=\s))!(\S+)/"!$1"/g` on the query or some such thing. -- Done exactly like that.
* Add search for tokens - but this could be a separate step entirely (not in this PR).

TODOne!