rangeTest: Fix signed-ness of types

On some architectures types like CChar are signed whereas the use previously
assumed they were unsigned. Fix this by relying on Bounded instances where
possible.
Revert "rangeTest fails on Windows (#7379)"

This reverts commit 2117e38729adaa4f465f3c5b7a8c5c4d77702d3f.

We no longer assume that C types are unsigned.
Merge pull request #5 from bgamari/master

rangeTest: Fix signed-ness of types