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.
@sethvargo I did not see the `Digestable` module. What this does separately from that module is that it takes the entire contents of a directory and generates a digest. I can add this functionality to that module as well if that's preferred. I used the OpenSSL digest because the Digest class in ruby is poorly documented and I couldn't find a way to stream data in. The `Digestable`