Initial API:
- ActivityStreamService: store activities in master table, queries on master table
- ActivityStreamFilter: contributed to the main service. Called when a new Activity is added. Queries on the main service can specify the filter to query, and so the query is handled by the custom filter.
- The ActivityStreamService is added to the event bus through an asynchronous listener ActivityStreamListener
- ActivityEventContext: new event context for Activity creation
- Wrap event with DocumentEventContext in an Activity and store it