wip - fix unit tests
WIP

In this commit I've changed Query so that it still works in terms of a
delta that can be positive or negative. This is calculated form a
duration in the Query.create method. The reason for having a difference
between the exposed interface and the one used internally is that it's
a lot easier to work with a delta that describes the direction movement
once we've calculated the start/end dates. We are calculating the start_at
and end_at when creating the Query object. This means that we had no
way of determining whether the delta was positive or negative once we've
created the Query.