read in variables from the .mercury_config file as the session starts, overwriting any default variables we may have already set; refs #75
when instantiating a module from a session, pass the session as an argument so we can access more of its members; refs #75
updating a few module tests to instantiate the module with a MockSession, rather than trying to use the old set of parameters
once a module has been instantiated, pass all of the variables to it by using 'export'; refs #75
add a workingDir() method to the file_system mixin, which returns the path to the persistent data folder (normally /data/data/com.mwr.droidhg.agent)
replace various hard-coded references to /data/data/com.mwr.droidhg.agent with invocations to workingDir(), to fetch the true path to our persistent folder
updating various modules that had imports which now cause MRO problems
add an ensureDirectory() command to the file system mixin that will create a directory if it does not exist; refs #81
install busybox in {workingDir}/bin, which we have previously added to PATH; refs #81
move our {workingDir}/bin folder up to the front of PATH, so our commands override any that were already on the system
make sure that we provide the variables to a single shot shell (for shell.exec) and remove the  shorthand to execute busybox
removing references to the old dollar-BB shorthand from inline help, and invocations of it in a couple of modules that are dependent on busybox; refs #81