Implemented Consumer Status Report (READ DETAILS)

This PR includes the implementation of the Consumer Status Report.

**NOTE:**
There is a bug in the current query that will be fixed in a seperate PR.
 - If we have a consumer that is active outside of the specified timespan (has not reported a status in a while but has not been deleted), it will not be in the results.

**I'd like to get this merged in despite of the bug above.**
> Why change to BasicDBObject here? if we use DBObject, we can pass in event.getNewEntity() in ComplianceHandler, right?

Because java driver needs an implementation, not an interface, or it will fail -- setModelObject.