MDx Hash Function
MDx Hash Function Base Class
| size_t block_len | is the number of bytes per block | 
| bool byte_end | specifies if the hash uses big-endian bytes | 
| bool bit_end | specifies if the hash uses big-endian bits | 
| size_t cnt_size | specifies the size of the counter var in bytes | 
Run the hash's compression function over a set of blocks
| const(ubyte)* blocks | the input | 
| size_t block_n | the number of blocks | 
Copy the output to the buffer
| ubyte* buffer | to put the output into | 
Write the count, if used, to this spot
| ubyte* output | where to write the counter to |