Recover small files (< 1mb) using a separate threadpool than large files.

Fixes #3576
Add ClusterInfoService, DiskUsage and DiskThresholdDecider

Change AllocationDecider API to take ClusterInfoService, update all
other deciders