Subscriptions

This pull request introduces email subscriptions and refactors our existing email notifications to avoid sending multiple emails to one person about the same thing.

**Summary:** A user can be subscribed to a thread and a subforum. An email will be sent to a user if a new post is made in a thread to which they're subscribed or if a new thread is created in a subforum to which they're subscribed. A user can manually subscribe to individual threads or subforums. Additionally, users are auto-subscribed to threads they create or are `@mentioned` in. (This behavior is governed by user settings.)