Allows you to wrap caching behavior around an arbitrary command. It will take in a list of source files, generate a hash, then check a cache (stored in Azure Storage) to see if those inputs have been seen before. If so it will download the cached outputs instead of running the command. If no cache is found matching the hash it will run the command instead.