added the withGadget function
simplified hash to use withGadget
make the Hash type suitable for HMAC
added the HMAC primitive
removed some unwanted imports from R.P.Hash