Use argparse for argument parsing

Made a few changes to package organization to accomodate the change