Create temporary directories for tests instead of using MIRROR_ROOT

Rather than (potentially) blowing away any directories we already have
in place when running tests and crawling against the same box, use a
temporary directory for tests.

This way, we won't trigger a deletion of a folder we want to keep and
developers no longer need to explicitly set `MIRROR_ROOT` to run the
test suite.