Changed how we handle resumptionTokens. We now on the first request from the harvester:
1. Perform a query against solr to retrieve the first part of the result set.
2. If there are more results than what can be displayed in one response, we iterate and retrieve the rest of the results.
3. We store these results in a database table with the resumptionToken value and what the value of the next resumptionToken is.

Then when receive a resumptionToken request is received:
1. We retrieve the row from the database table using the resumptionToken to get the relevant part of the result set and the next token to display (no more Solr queries)

This eliminates the need to store all the permutations of parameters that are possible in OAI in the table. It also means we have a guaranteed resultSet for that entire harvest run (e.g. results that are modified since the harvest run started will not appear in the result set).

Fixes #45