Accept a version option that forces new hashes to be generated

This PR allows you to set a version string option that is appended before hashing, thus forcing new revs even when the contents haven't changed.  One use case for this is when you want to bust a cache due to changes in metadata, such as HTTP headers, but the contents of the file hasn't changed.

The associated test is not ideal, let me know if you have some suggestions on how to improve it, or if you think it suffices (if you are interested in merging the changes).