Base.MPFR: don't `ccall` for special value predicates (#50674)
MPFR determines special values according to sentinel values of the
exponent field. Although these constants are not documented (they're
defined in MPFR's `src/mpfr-impl.h`), they're already used in
`Base.MPFR` in the `BigFloat` inner constructor and for converting IEEE
754 FP types to `BigFloat`, so I guess it makes sense to avoid the
`ccall` overhead for predicates like `iszero` and `isnan`, too.
The context here is that I'm working on generic IEEE 754-`BigFloat`
conversion implementations that would work without using MPFR and
improve correctness (#50642) and performance, so this PR seems like the
obvious prerequisite for being able to use the Julian predicates like
`iszero` without calling libmpfr unnecessarily.