finer grained tests
depend on sha.js
remove internal sha implementations
separate hash and hmac functions
export createHash and createHmac
use sha.js
make deps exact, because crypto is more serious
update readme
update sha.js to 1.3.0, which supports binary encoding
these tests are covered in sha.js
didn't use this in the end
bring back binary encoding tests since sha.js@1.3.0
2.0.0