Added copy and remove methods above syscalls.

Also, renamed some variables and removed some comments for code
that is already clear.
First mock test is working.

@tempdir apparently needs to be the last decorator and appends
its argument to the end of the argument list.
Added function to build path set representing tree changes.

Every file or directory under a directory that is also in the set
will be removed. Some tests were also added and passed.
Separated the diff, print, and backup functions.
Added another mock test and call list equality testing.

Also made function naming consistent for global functions.
Added diff_walk()-specific asserts in tests.

Also cleaned up some variables.
Added docstring and extra test cases for build_backup_path_set.
Added new tests and fixed directory trailing slash problem.

Directories need to have their paths stored with a trailing slash
to prevent them for stomping sibling files for which their name
is a prefix.
Condensed two test functions into one.