cleanup some headers, use enum for flags and use local based toupper... although we may have to hardcode that to en-us
use nullptr not null
rename to CPP
fix build after rename
rename to reflect that it should not be used from a C file anymore
Revert "rename to reflect that it should not be used from a C file anymore"

This reverts commit a072499c16bd8baa3d91a6e5b4609025f02aae68.
add c++ guards... turns out this is used in headers of files that are not yet C++
switch to C++ headers, wrap statics in anonymous namespace and switch over one int to a bool
rename to CPP
fix the build after rename