fix Issue 12412

Issue:
https://issues.dlang.org/show_bug.cgi?id=12412

Make isNaN, isNormal, isSubnormal, isFinite, isInfinity CTFE-able.
How are these "CTFE-able" tests? Shouldn't those be `static assert`s?

BTW, you might be interested in `assertCTFEable(alias dg)()` in `std.exception`. This will run your entire "dg", both in runtime and ctfe time.