Feature/dictionaries

- Added `term_history` dict and `term_history_sensitive` dict. This will enable the fast caching of terms. If you keep the bot running for days, it won't need to hit the database every time someone asks it to count Hodor- it will just hit the cache. We need two separate caches because the results will obviously be different searching case insensitive vs case sensitive. You're a braver man than I, I would have just said all results will be insensitive :)
- Broke apart `send_message` into `reply` and `build_message`. This has the side effect of having very minimal code in the `try:` block, only the actual send call itself. It will also allow us to reply with cached replies from the term dictionary (although that isn't in here yet).

Before the last bit is possible.. ahh, let me type that all into an issue.