PEP-8 fixes for local job runner.
Adjust GALAXY_SLOTS in local.py for pre-bash shells.
PEP-8 fixes for jobs/__init__.py
PEP-8 fixes task runner.
PEP-8 fixes for set_metadata.py.
Refactor small __poll helper method out of local job runner's queue.
Local job runner - only poll if limits set (so can be set).

Small optimization.
Allow setting metadata as part of local job.

Any idea why this isn't the default when it is for other runners?
Rework local job runner to create job script.
Reduce code duplication between JobWrapper and TaskWrapper.
TaskWrapper - utilize user_template_environment like JobWrapper.
Reduce code duplication between JobWrapper and TaskWrapper.

Create shared method for building up param dict.
Use get_history() in tools API controller.
Rework logic in tools related to false paths.

Basically, if a false path is set trust it, don't explicitly check app.config.outputs_to_working_directory. The hope here is that this logic can then be used in other scenarios where a false_path might be setup at the layers (e.g. job_runner) above tool.
Rework task splitting to rewrite paths before cheetah eval not after...

Utilizing DatasetPath.false_path mechanisms implemented for config.outputs_to_working_directory. I think this could be made less convoluted if the combination of outputs_to_working_directory and Task splitting were optimized in some way - but this changeset keeps the behavior of that the same (coping twice) just to isolate changes to how these paths are evaluated in Cheetah.