Add some more exception safety to basic_element
Use FENV_ACCESS pragma to enable safe use of floating point env
Make sure whitespace performance test is correct
Fix an internal inconsistency of json_reader
Revert performance "regression" fix & add set conversion to performance
test
Make unicode converter a thread_local var as its construction &
destruction is costly.
Also use ::strtol() with stack memory over std::stoi() with std::string.
Refactor number parser
Instead of parsing everything as a floating point and attempting to
convert to an integer, first attempt parsing an integer, and then if it
fails, a floating point number.
Improves performance and no longer needs to access the floating point
environment
Templatise json_reader to basic_json_reader on char type.
Attempted to make some internal stuff more char type portable, though it
is untested
Untemplatise json_reader.
It was totally unnecessary as it can just be deduced when needed
Fix is_iterator_pointer trait for iterator_range
Also fix formatting
Fix error message generation for non-char input
Abandon use of memcpy in parse_number() to fix non-char parsing
Non-char parsing *should* work fine now. Still not properly tested