*The inital call to self.reset() would barf because self.runconfig
didn't exist
*We were trying to put the logs in a directory under / instead of under
the stone ridge root
*Debug logs in unit test mode were going to the global worker log,
instead of the single-run worker log
*We would barf if the run-specific logs directory already existed
They're prefixed with _ so they don't pollute the general namespace that
is usable by subclasses. This also changes self.setup to take arguments,
namely those arguments sent to __init__ that aren't handled directly by
__init__. This is instead of using self.args (which has been renamed
self._args, and should stay hidden in the parent class unless absolutely
necessary).