Use argparse and extract downloading/studying functionality into separate files

* Use argparse for argument parsing instead of manually looking through `sys.argv`
* Extract the set download functionality to `download.py`
* Extract the study functionality to `study.py`
* Update the README to reflect the changes