Ensure that software fetched via path_fetcher are cached correctly

When relying on locally-sourced software (e.g. cookbooks in omnibus-chef-server), the version of the files is tracked via the omnibus repo and is not encoded into the build instructions. When using a version of omnibus with git caching, however, changes to these repos are not tracked because the version number in the software definition does not change. This PR will ensure that the version represented to the cache will track the contents of the directory.
So your suggestion is that we have one method, `#digest`, that accepts either a file path or a directory path, and based on which one it chooses, it will compute a digest of the contents. In the case of the directory, it will include the contents of all the files. Is that correct?