Database query start times set properly

Previously, the times passed to Purchase model were not correct, because they were looking
to the future.  Future purchases are unknown at the time of the database call, so instead
we simulate realtime data, by pretending to exist FIRST_QUERY_LENGTH_IN_SECONDS in the past.
Ultimately this is only a small difference, being out of sync with realtime by a minute or so.