Split HashContext to separate class
Then we only need one place to do the endHash and memory handling.
Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Then we only need one place to do the endHash and memory handling.