SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).
Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.
The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the MAP_CHANGE
message after the previously kno...