Improved mongodb's storage queries and indexes

The patch reduces the number of indexes needed and changes how data is
stored.

Major changes:
    * Messages expire now contains claim's expire for messages whos
    expiration time is less than claims.
    * New messages now contain a fake claim object that allows the
    driver for querying using that field even when the message hasn't
    been claimed. (see `active`)

Implements blueprint storage-mongodb

Change-Id: Ia932d15fb3a3e0e7c50d667fae330cb031e34a8a
Merge "Improved mongodb's storage queries and indexes"