removes debugging print statement
removes unhelpful commented out code
moves os-specific error handling to function itself.  i like this approach more than using it up to the user to reinvent for each OS
DRY on touch attempt
DRY up the make_dir call
refactor now that error handling is in methods
moves subprocess to file import
pep8