node.js crypto: Changed HMAC and Hash params to `any`

1. `createHmac` also accepts Buffers as the `key` param, not only strings
2. `Hmac.digest` and `Hash.digest` both return a Buffer object, if no encoding is specified, so also not just strings.

Docs:
http://nodejs.org/api/crypto.html

@johnnycrab I like `digest(encoding: 'buffer'): Buffer;` with `digest(encoding: string): any;`.
I think programmer call with `obj.digest("foobar")` are not usual code. isn't it?