Fill in missing periods

- Fill in all missing time periods in all groups.
- Keep time series in chronological order.
- If a time period is missing from every group it will not be added.

@robyoung
@pbadenski
Fill in gaps in period groups

Fill in gaps in period groups even if period is not present in any
group. This way we always return a continuous list of periods.
Allow empty valid json objects in write api

Previously empty arrays or empty objects would cause a 400 because
they're falsy.
Merge pull request #30 from alphagov/fill-gaps-for-period-query

:cake:
Rename test
Merge pull request #31 from alphagov/empty-json

Allow empty valid json objects in write api
Make error message less confusing

@pbadenski
Disallow use the same field for collect and group_by

@pbadenski
Merge pull request #32 from alphagov/fix__week_start_at

Fix grouping for data with missing fields
Merge pull request #34 from alphagov/fix__week_start_at

Use query to filter by keys when grouping
Merge pull request #35 from alphagov/collect-and-groupby-validation

Makes sense. :cactus:
Merge branch 'master' into fix__week_start_at