Implements ThreadLocal[MessageDigest] as suggested in #8 discussion comments

Maybe premature optimisation, but it's not a lot more code/work and it's only
in one place. Makes using HashingKeySanitizer a little bit faster :)
Docs state that after digest is called, the digest is reset anyways
Use 'UTF-8' charset when getting bytes
Merge pull request #9 from lloydmeta/feature/threadlocal-messagedigest

HashingMemcachedKeySanitizer: make the MessageDigest a thread-local for performance