Behaviour
When the dry-run flag -n is given then no changes should be made to the filesystem. Instead a printout
of all the changes should occur.
For a clean implementation this will require wrapping os.walk and some os.path functions,
possible in a thin wrapper class.