Use longdouble for Port::nan and Port::infinity.

Knocking on wood that this doesn't break for any host platforms that have their own longdouble implementation (eg: MSVC).

If this works fine, I will add a raise a new pull for ```Port::snan``` to replace the Signalling NaN handling in mtype.c