Only calculate start / end in one place

It is being calculated in Query.create this change makes use of that.
Refactor relative date shifting

Create a new identical query with a different 'date' rather than filling
in the missing data. Results in querying for more data but is a simpler
flow because the second query is identical save for the date.
Convert day start fields to datetime in steps
Add day start fields to licensing fixture.
Do no reverse data when skipping blanks