Support a maximum disk cache size in -cleanDisk.

Previously, -cleanDisk would only remove cache files that were older
than the configured expiration date.  This allowed the disk cache to
grow significantly if a large number of resources were cached over a
short period of time.

This change adds a second (optional) size-based cleaning pass that
removes files from the disk cache until its overall size falls below
half of the configured maximum size.  Older files are deleted first.

The size-based pass is disabled by default (maxCacheSize == 0).
Merge pull request #353 from jparise/max-cache-size

Support a maximum disk cache size in -cleanDisk.