Don't read the file when making its hash

When combining rev-all in a pipeline that modifies the name of a file,
the call to fs.readFileSync fails because the original file is not
present on disk.

This commit eschews reading the file's contents in order to calculate
its checksum, prefering instead to use the file's content property.

Also, the revFile function now modifies the file object directly, same
as revReferencesInFile.