Clean up some trait impls in core::num.

This removes the special casing for `float`s where it was not necessary, as
`-0.0 == 0.0`.
Dunno, if this wasn't in a macro I'd say: Keep the magic constant in one place, so you can change it easily – it's not so bad in a macro I guess. Want me to change it back?