This cleans up the type checking a bit and makes it more readable, along with some other cleanup.
* start work on trying to clean up the type traits for which lexical cast overload to use
* fix readme issue and make the condition tests a little clearer
* add a check for out of range errors on boolean conversions
* Fix capitalization and some comments on option functions
* fix a few code analysis warnings for VS2019