Breaking API change: Use fingerprinting & middleware

This uses fingerprinting over naive git hashing. It still supports rollbacks by uploading a manifest file with a git hash in it's filename to version fingerprints. README updated to explain integration.