add fasta_float test
move to FROUND option for Math.fround
use fround in asm initializers and coercions
fround on numerical constants, and fix some related parse issues
fix int to float conversions to differentiate float from double
simplify fround initializer
respect fround in fptrunc/ext
add fpext and fptrunc to list of llvm conversions, so we differentiate float/double in them
properly apply fround to all float constants, even if they are fractions and look like doubles
emit tempFloat global
use float temporary in makeIsNaN when relevant
simplify auto-return adding code, and make it generic so it can handle floats as well
support fround in function tables and asm module support functions
do not mangle hex float constants in function calls
fix splitI64 use of float instead of double
do not send floats to ffis
detect NaN as a number
send and receive only doubles through ffis, not floats
fixed float read performance in _scanString
Fix an issue with Boost compilation.

The issue is that when these macros are defined, libcxx
creates inline functions and so we end up with 2 separate
defintions of these functions (one inline in std and one
that is extern "C").

We undef these until libcxx is fixed. Without this,
some things can fail to compile correctly, like
Boost. Fixes issue #1716.