Use DiscussionModel->GetAnnouncementCacheKey() in DiscussionController->Announce().
Fix bug where announce options are not being set to their correct values due to array_merge() with numeric keys.
Fix some announce cache invalidation bugs.