Make ProcessWrapper convert underscores to dashes automatically.

i.e. evnadmin.show_roots -> `evnadmin show-roots`.
Add support for keeping test repos and working copies around when running in single-test mode.
Add a roots @property to TestRepo.

Automatically calls `evnadmin show-roots -q <repo>` and evals the response into a
dict, which is then returned.
Keep a copy of the most recent repo created via create_repo().

(Required by the next chronological commit after this one.)
Implement @expected_roots() decorator.

    Helper decorator for automatically testing evn:roots values after a test
    has run, based on the roots dict passed in as the first argument to the
    decorator, e.g.:

        class TestSimpleRoots(EnversionTest, unittest.TestCase):
            @expected_roots({
                '/trunk/': {
                    'copies': {},
                    'created': 1,
                    'creation_method': 'created',
                }
            })
            def test_basic(self):
                repo = self.create_repo()

    The roots can be accessed via class.func.roots, i.e. for the example
    above, the dict would be accessible from TestSimpleRoots.test_basic.roots.
Implement TestSimpleRoots (mainly to test @expected_roots).
Add @expected_roots to TestSingleComponentRepo.test_01_basic.
Add @expected_roots to TestNoComponentDepthRepo.test_01_creation.
Implement TestSingleToMultiRepoConversionSimple.

This verifies the manual steps for converting a repo will Do The Right Thing.