added a test which catches a bug in mrjob.compat.get_jobconf_value()
fixed get_jobconf_value() bug
catch that local mode ignores per-step jobconf
added jobconf_from_dict() method for use by mrjob.sim
renamed mrjob.compat.get_jobconf_value() to jobconf_from_env()
local mode can now read number of tasks from per-step jobconf
each sim step now gets its own working dir
- you can no longer set it with jobconf (this makes no sense)
- inline mode now runs in the working dir too and gets upload_archives/files

reworked _run_steps() and changed many variable names

removed the inscrutable LocalMRJobRunner._executable() override
fixed tests that invoke _subprocess_env() directly
fixed test_jobconf_set_by_runner() for local job runner
shared jobconf tests between inline and local runners
fixed off-by-one in inline mode counter parsing

test_jobconf_set_by_runner() now works properly