Fixing various issues

As previously stated, I think that the code has to take into account that len(v) is an int. So, while it makes perfect sense to use uint as indexes, the underlying array should have a length of type int.

I also think that an implicit assumption in the code is that uint is identical to uint64. This may very well be true for all practical purposes, but you could conceivably use this code on a 32-bit platform where this would not be true.

I also think I made the JSON unmarshalling code cleaner.

I think I caught a few typos in the unit tests.