Hash the contents of file objects for lazy rebuilding
When re-running Documentation.buildall
every file is reprocessed. Some of this can be skipped in the file is unchanged. Storing a hash of the content in the in the FileInfo object allows us to know what files have changed.