Add enum RealFormat to std.math

As discussed in https://github.com/D-Programming-Language/phobos/pull/2305

Replaces cryptic checks of ``T.mant_dig == 24`` with ``floatTraits!(T).realFormat == RealFormat.IEEESingle``
I think these should be `ieeeHalf`, `ibmExtended` and so on to conform with Phobos naming conventions. They are values, after all.