Handle hosts having different release directories in cleanup task.

The old task read the release directory list from a single host, and assumed
all other hosts were in sync. This may well be untrue, particularly with
features like HOSTFILTER. The result is that some release directories may sit
around forever because they did not exist on the host from which the release
directory list was fetched.

This ensures the list of release directories is computed individually for each
host.
Merge pull request #423 from howaboutwe/cleanup-fix

Handle hosts having different release directories in cleanup task.