More performant querying for expired documents

Lucene range queries are a terrible way of finding docs with high cardinality fields. RavenDB doesn't support Lucene filters, but luckily we can use a sorted field which works in a very similar way.
Exit early from the while loop as well
Refactoring document expiry to be more performant

* Streaming query results instead of paging
* Deleting in bulks
* Disabling server-side document caching while fetching docs to delete
* No timeout at all (might bite us later, but seems to make sense now)
Scheduling timer once per run.

This way there is no need overlap.
Joining Database.WorkContext.CancellationToken with our own token.
Wait for current work to complete
Merge branch 'develop' into issues-387
Need to handle OperationCanceledException
changed logging source to type name.- makes it consist with the rest of SC
Don't limit the page size when streamin data for data expiration
Add a doc counter to logging and update to latest Raven
Removed all WaitForNonStaleResultsAsOfLastWrite
Logging
More settings and changed defaults
typo and fix batch minimum
Removed doc counter
missing file
Merge branch 'develop' into issues-387
Fix Tests
Changed defaults for expiry