Gets the tests fully passing on 64-bit systems.  This was very tricky due in part to what (I think?) is a but in Numpy where adding an int64 to a uint64 causes the result to be recast as a float64 (I think I've heard of a bug like this before elsewhere).  The other issue is that when scaling a 64-bit int with bzero, the resulting float64 lost too much precision to be able to accurately scale back to the original int values.  Rather than consider this an acceptable loss I used float128s for scaling 64-bit ints.