Updates to test and logger

test
----
o run_job method of test instances removed.  every test should have an
  associated run_<runid> function in the test containing module.  the
  test base class finds the function by module introspection.

logger
------
o logger now uses python logging module under the hood.  logging is
  thread/multiprocessing safe and is the preferred way to log.
o Logger is now a factory function.  The API has changed, now having a
  required argument (the logger name, usually set to the simulation
  runid).

Other misc. changes to support above changes.
All test files modified.  All tests pass.