Rewrite OptionsParser innards to fix remaining bugs and immutable-ize it
Simplify the test base classes and make things more consistent
Get rid of compiler warnings