fix Issue 12412. CTFE-able math

Issue:
https://issues.dlang.org/show_bug.cgi?id=12412

Make isNaN, isNormal, isSubnormal, isFinite, isInfinity CTFE-able.
Ah, I see.

Also, is there a performance hit associated with writing `x == x && x - x  != 0.0`? I find that a little clearer, as it isn't obvious that `x-x` here is being implicitly cast to bool unless you're reading the code carefully.