Adds group by statistics for MongoDB driver

Implements: blueprint api-group-by

Adds group by meter statistics in the MongoDB driver for the case
where the groupby fields are a combination of 'user-id',
'resource-id', 'project-id', and 'source' (metadata fields not
implemented)

The group by meter statistics can be requested with query filtering
and/or period parameters.  In this case, the query filtering and/or
period grouping is applied first, followed by the calculation of
group by meter statistics.

Refactors the meter statistics map functions MAP_STATS and
MAP_STATS_PERIOD to remove duplicate code

Modifies test_group_by_unknown_field in class StatisticsGroupByTest
so that it works for both the SQL Alchemy driver and the MongoDB
driver; the previous version only worked for the SQL Alchemy driver

Change-Id: I6954abe9d8c86c780ad96bbf04849d068b360b1c
Merge "Adds group by statistics for MongoDB driver"