Define MR_is_{nan,infinite,finite} as macros with VS2013.

This is a follow-up to commit fff5759.  If we are using C99 we define
MR_is_{nan,infinite,finite} as macros.  We should do the same for MSVC version
1800 (VS2013) and onwards and the only reason we didn't already is that MSVC
doesn't define the __STDC_VERSION__ macro appropriately.

runtime/mercury_float.h:
    Define MR_is_{nan,infinite,finite} as macros with MSVC version 1800
    and onwards.

    isnan(), isinf() and isfinite() are type-generic in C99: simplify some
    existing code accordingly.