Use correct test routines for Rat.round tests / Unfudge JVM
Use correct test routines for Rat.round tests / Unfudge JVM

1) Compare the numbers as tests actually claim to compare:
    using numeric semantics, not string semantics which `is` uses
2) For .round(1e-5) test, use approximately equals operator:
    it was fudged on JVM and passing on MoarVM for the wrong reason.
    The result of rounding is a Num (value 123.45679000000001e0),
    which when stringified would look like that. The reason it was
    passing on MoarVM is due to a bug in loss of precision stringifying
    it to `123.45679` (same as the $expected Rat stringification),
    JVM was stringifying it correctly and as a result of stringy test
    was "failing" it. The `123.45679` stringification implies value
    of 123.45678999999998e0 as a result of rounding.

    IMO, neither value should be exactly specified and instead
    approx operator should used to test the result is close enough.

dogbert17/roast,perl6/roast,dogbert17/roast