Base class for hashers that can work in incremental fashion, that is, where content is sent via one or more calls to {@link #update}, before final hash value is calculated.
Note: implementations are required to retain state so that it is possible to calculate "partial" hash values throughout content, and call {@link #calculateHash} multiple times, at different points. This is differentfrom many other hash calculation abstractions.
NOTE: since 0.9.21, this implements {@link Checksum}, for interoperability