Use an FSM to parse our config files instead of using CParser. Refs #2589.
Properly write config settings with multiple values back to files. Refs #1810. Print error messages if we encountered an invalid setting.
This has silently removed the "negative hotkey" feature introduced in rP1301 & reworked in rP8444. I can't actually find any proof that it was every really used. However, the 'negated' variables remained in a number of places.