Contact record navigation [MJ-953]

Rather than get previous and next result by calculating their positions relative to the offset query parameter, I calculated them relative the the result `QuerySet`. I also sorted the results by reverse date_time order, since that's how they're displayed. 

I did change the call signature for `get_contact_records` to pass in start and end dates as separate parameters so that I didn't have to juggle mutable parameters (`None` instead of `[]` or `[None, None]`).
I think it was an artifact of refactoring that I caught after pushing (loose trigger finger I suppose). Seems I've corrected this already in a more recent commit.