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 - I wonder if we could make this more intelligent? What if we just exposed `digest` as the public API and then checked the type of path using `File.directory?(path)` and acting accordingly.