shadowing of hmac function fixed.
add IsString instance for HMACKey.
hmac and hmac' take HMACKey as input

- now that there is IsString instance for HMACKey this should be fine
  for the user
fixed hmac tests.
Merge added hmac and hmac' functions.