A DoubleAgent can now #beAnnouncer.

This is useful for testing objects that expect to subscribe to announcements from a collaborator.

When a DoubleAgent receives #beAnnouncer, it creates an internal Announcer and stubs all of the announcement API methods to forward to the internal announcer.