Fixed MurmurHash bug where empty strings had no effect on a hash.

The terminating null character is now considered to be part of the string. This is consistent with the general principle that the low level MurmurHash code should hash the contents of memory (with type information provided only to allow byte order to be dealt with properly).

It could be argued that the other array hashes should also include some sort of terminator to allow empty arrays to have some effect on the hash, but I'm not sure that that's right. At the low level I would consider that they shouldn't, because then they represent more than what's there in memory, and at the high level with VectorData we have additional information to ensure the hash changes anyway.