Aggregation by time interval should respect the natural boundaries of the argument

minute, hour are straight forward. Grouping by 1d should make sure we bucket points between 00:00 UTC (midnight of consecutive days), 1w/7d should bucket points between consecutive mondays, etc. This story should deal with utc only, handling different timezones will be handled in a different issue.
The `bool` return value is also used a few times and we ignore it in most places, should this be a separate function ? Just a thought, I don't have a strong opinion