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)
I think using this TimedEvictingQueue is a nice way to implement the 'abuse' functionality. There are other ways we could have chosen how to do it and they almost certainly would have been more messy or confusing.