Command line arguments we are expecteding are parsed and stored in a dict

Implementation of issue #9
Two questions, does `parse_known_args` ever return a `valid_args` which contains args with value `None`, and do we want to raise an error if the user provides invalid args?