make the Hash type suitable for HMAC
added the HMAC primitive
removed some unwanted imports from R.P.Hash
added length safe version of replicate function
some code and documentation cleanup