ENH: Add command line robustness feature.

Previously if an erroneous command line flag was given (i.e.
--silly-wont-work-flag) the program would silently ignore that flag
and continue to run.  This was problematic because if you accidently
had a typo in the command line option, it was very hard to determine
that that flag was not being used.