cmSystemTools: Re-implement IsOn,IsOff with manual branching
Replace use of std::string
allocation, std::set
lookups, and toupper
conversions with explicit manual logic to do case-insensitive recognition of a specific set of strings.
While at it, also add overloads accepting std::string
as proposed in !2329 (closed).