Agg evicting queue

Deprecates #1282 and solves #1214 and #1216.

Behaviour is as follows:
 * Users are free to download
 * If an IP address is "abusing" us with too many aggregator downloads, it gets penalized with a captcha
 * `trustedClients` in configuration can always download without a captcha
 * `maxAggregatedDownloadsInTenMinutes` set to 2 by default (configurable)
Would there be any value in adding a test here where one of the items is expired, but the other isn't? And we could verify that one of the items was evicted and the other hadn't been yet. You could then do another wait and check that the second item had been evicted.

You'd need to add another 'sleep' between adding the 2 items to achieve that.