added an abstraction to make it easy to change the hash function
used by the estimator.  Implemented MD4, MD5, SHA hash function
object using openssl.