Making testhelp test outcome clearer.
- Use toolframe in Checkable to log test results
- Add dataroot to the checkable database and use it when calling
  ex_nihilo from the drill-instructor
- Use os.system rather than pexpect.run in all_tests so the progress
  is visible
- ignore db files, out files, and the plugins dir
- Use toolframe in Checkable and testhelp to get test logging
- make all_tests run the tests directly through python rather than
  shelling out
- enhance testhelp.run_tests to accept a module object
Use toolframe in util to get test logging
 - Make all_tests more legible by iterating module names rather than
   script names.
 - Use the standard names for setup and teardown routines so they get
   run automagically (only in 2.7, though, and still need to do this
   for CrawlConfig and CrawlPlugin -- added failing reminder tests)
 - Unconditionally jump back to the launch directory at the end of the
   crawl tests.
 - Pass the calling module into tf_launch() so it knows whether it's
   being imported or run from the command line.
 - update testhelp.run_tests() to call setUpModule and tearDownModule
   if they exist.
 - update LoggingTestSuite so that we never put more than one handler
   in the logger (otherwise, log messages get repeated).
All tests are running clean with setUpModule() and tearDownModule()
routines where needed.