Fix proper relative tolerance checking in testutils
The previous relative tolerances were convereted to ULP
checks, but since the relative difference for 1 ULP
depends on whether the exponent changes there is no strict
1-to-1 correspondence between ULP and relative differences.
Fixed by storing the original magnitude of the numbers
in FloatingPointDifference and using a traditional relative
tolerance check for the case when a relative tolerance is
set from floating point values; other checks still use ULP.
Change-Id: I95331b46da00cd0b4e369f087991c553cd05f18f