Create a directory path if it does not exist. Will not throw an error if the
directory already exists. Use to guarantee the filesystem state before a test
runs.
Get a read and write file handle. Use this to create temporary files for
testing and comparison. The file will be created if it does not exist, and
it will be overridden if it does.
Allow tests with side-effects to run without interfering with each other. The
lock is released when the MutexGuard variable goes out of scope. Will ignore
poison errors from other tests so that our test can continue even if theirs fails.