merkle: fix bug with last blocks of hashing

We weren't finalizing in the last block of hash data. Oops. Also, stop padding
the end of the message to block length with zeroes to avoid having multiple
files collide.