* Email is sent upon saving from the admin.
* Announcements from the future are queued to be emailed around the time they become visible.
* Also do some try/finally as safety for threadlocale default language activation.
* Announcements are per group, independent of user's groups.
* Tabs are all about user's groups. Tab titles are group names.
* Add migration for unique group id in GroupDashboard because of OneToOneField.
* Create utils.py to avoid circular imports.
* Announcement model + migration.
* Model utils: get_for_group, get_side_wide, is_visible
* Site-wide announcements are in no group.
* Minimally formatted and styled for review/question dashboards.