Refactor code to be more Pythonic

I finished all of the refactoring changes that I felt needed to be made - besides argument parsing, the functionality should largely be the same. Any further changes will be in a new branch and will either add or remove functionality from the script.

I changed argument parsing to be simpler in code and, in my opinion, functionality. Let me know what you think.

If you don't want to read over the changes before merging or don't want to merge this pull request yourself, let me know and I'll take care of it.