Zero-copy HMAC and signing/verification for direct ByteBuffer.

Prior to this change, Conscrypt's Mac and Signature implementations
copied the contents of direct ByteBuffer inputs. This change
implements an optimization which avoids the allocation and copying of
contents of direct ByteBuffer inputs.

Bug: 24674857
Change-Id: I1436839182483fd42318d4b0af4d633283e3453d
4 files changed