Use buffer of EVP_MAX_MD_SIZE bytes for digests

OpenSSL doesn't actually guarantee to only write to digest_size worth of
bytes in the output buffer. The examples and docs claim this constant is
the max.
Merge pull request #699 from public/max-md-size

Use buffer of EVP_MAX_MD_SIZE bytes for digests