Update todos.
Dramatically improve documentation. Still have to add a user's guide.
Add a todo about underscores in command-line parameter names.
Now handles hyphens correctly.
Refactor repeated test code.
Remove finished todo.
Rename `is_required' keyword argument to just `required'.
Rename `is_persistent' to just `persistent'.
Persistence of keys defaults to not persistent. Added tests for this now as well, which were annoying to write.
Aim for full test coverage, pretty close except for a few invalid cases.
PEP8 source code formatting compliance.
Now defaults to validating arguments from sys.argv.
Program config does not discard extra arguments required from argparse but not given to program config.