Now uses argparse for command-line options

This allows for much better control over the usage, rather than having
to specify all the options in a specific order.