adds queries to analyze impressions of a session

While I originally wanted to just provide access to the next and previous impression I actually think that this is a nicer way.

The next/previous impression in a session can be retrieved using:
```ruby
imp.next.first
imp.previous.last
```

This works fine for Mongoid right now as it just builds the `Mongoid::Criteria` object. I'm not sure if AR/MongoMapper provide the same functionality without additional cost. 
I'd like to discuss the API for this before putting additional time into the implementation for other persistence layers.