Fix checksum tests on 32-bit systems.

This is a proposed fix for #2171.

There were two problems here:

The default dtype of `np.arange` is different on 64-bit and 32-bit systems, so we now explicitly set the dtype.

`np.add.reduce` promotes up to `int64` on x86_64 and `int32` on i386.  To make the tests match the passing ones on x86_64, I explicitly set the output dtype to `int64`.  However, I'm not sure if this is correct, as everything else in the algorithm seems to function in 32 bits, and I'm not sure what the FITS checksum spec actually says.  It may be that this should truncate to 32 bits and then we need to update the expected checksums, but that implies the checksums we've been putting in files lately (at least on 64-bit systems) is wrong...

@embray