Fix an infinite loop in _mkdir().
Add a suite of unit tests.
Allow archive to work with fully qualified paths.