Fullhash refactor

This is a refactor of the fullhash branch that Jinmei submitted which combines the getHash() and getFullHash() methods into a single call.