Added file compression with checksums

Added GZip HTML file compression.
Added SHA1 + MD5 hashing for file comparision along with file size.

The application will now hash every file and compare the size plus the compound hash
against what's already stored. Storing a file reference for every uploaded file and if
the file is exactly the same as 1 already stored it will use that file_contents reference
with the file reference for a complete record. This gets around the issue where there's
multiple tags with very little documentation change between versions.