Fixes bug 1262571
Previously, the mongodb storage driver an aggregation pipeline
over the meter collection in order to construct a list of resources
adorned with first & last sample timestamps etc.
However mongodb aggregation framework performs sorting in-memory,
in this case operating over a potentially very large collection.
It is also hardcoded to abort any sorts in an aggregation pipeline
that will consume more than 10% of physical memory, which is
observed in this case.
Now, we avoid the aggregation framework altogether and instead
use an equivalent map-reduce.
Change-Id: Ibef4a95acada411af385ff75ccb36c5724068b59