Added --total option for running 'du -hcs' on specified folders
Simplified lines being written to --total file
Made -f arg optional
Made --git require either -f or -t
Fixed git root-folder-check bug
Added some code that uses argparse to catch tricky arg combinations
   I just thought of a better way to do this - I'm about to redo this code, and am only committing it in case the new way doesn't work
Improved code that counts arguments when they are tricky (eg: -gfi)
  The new code looks at arguments the same way argparse does - "-gfi" means the same as "-g fi"
Changed from os.system to subprocess in one place

The idea was to change everywhere I used os.system() and commands.getoutput()
to a single, consistent way, but after trying the subprocess module, I realized
how complicated it is to use.
The change I made works great, but it looks complicated, so I'm backing it up
with this commit and reverting it back to the previous commit where it was simpler
Revert "Changed from os.system to subprocess in one place"

This reverts commit 37a69ae0586e0e070b8575f37716d681172b0c25.
Changed everything that used the commands module, and os.system() to use subprocess