small refactor to make it easier to swap hash algorithms
buffer data to hash up to 16 bytes. this does nothing to performance on openssl, but is required by the next hashing algorithm.
switch to siphash; tests need updating