Export intermediate hash contexts

also don't double-export 'hash'
Add serialize instances to contexts
Over-ride the default 'hash' method for slight performance gain.
Merge pull request #1 from TomMD/master

Export Contexts, add Serialization