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]`).
Is this intended to be outside of the try? The tests are failing at this point.