add KeyedHash and HMAC, reorganize some internal stuff
add UMAC