Remove Real trait and move methods into Float

This is part of the effort to simplify `std::num`, as tracked in issue #10387.
auto merge of #12321 : bjz/rust/remove-real, r=alexcrichton

This is part of the effort to simplify `std::num`, as tracked in issue #10387. It is also a step towards a proper IEEE-754 trait (see #12281).