[ Merge of http://go/wvgerrit/152950 ]
This CL introduces several functions for computing a HMAC-SHA256
signature. The functions wrap the OpenSSL/BoringSSL implementation
of HMAC(), allowing for common C++ types to be passed in. Several
of the functions follow several OEMCrypto conventions for generating
signatures (ex. returning OEMCrypto_ERROR_SHORT_BUFFER if signature
buffer is too small).
Also provided limited wrappers for HMAC-SHA-1, which are used for
a limited number of operations within OEMCrypto.
Bug: 154055871
Bug: 145026434
Bug: 236317198
Test: hmac_unittest
Change-Id: I4a9e56066a7c3f14c7159270503225cd794c1bb6