Switch to argparser for parsing args

cmd.Cmd is focused more towards a REPL (with completion etc) than taking
args from the command line. And doing it this way means we aren’t trying to
parse cli arguments manually.
Why've you broken this line and not the others? You've a couple of longer lines later that could do with more breaking than this…