Changed things to now use a state file to keep track of state for
interactive sessions. This simplies arguments and prevents the bad case where a full init is followed by a non-full finish. It also allows users to share test trees. The database is set up under the username of whatever user ran init, but any user which permissions can run tests (previously this would break because it would look for the test DB under the incorrect username).