Hamming: add error return, check for unequal lengths, add version number