Fix bugs in Real's floor, round, and ceil methods.

These methods are still not 100% bullet-proof. We desperately need
a generalized way to provide implicit approximations for types that
need them, and we also need a way for users to opt-in for inexact
behavior for Real (since that's the advertized benefit).

This commit also improves the RealCheck tests a bit.