PEP-8 fixes for test/base/twilltestcase.py.

Still hundreds of lines to fix.
PEP-8 fixes related to tool test parsing.
Don't pass API key to datatype display method.

Some datatypes cannot take the keyword parameter and none of them should need it.
Allow hda structures as param inputs to tool API mirroring ldda option.

Something of a hack - but somewhat justifiable for consistency sake.

The tool API currently has not other way to specify encoded ids for hdas - the API doesn't share out decoded ids - so this was a real problem. Ideally the tool API would still process its inputs and decode simple ids. Short of that however, there is now at least the option to construct a datastructure like this: {"src": "hda", "id": "<encoded_id>"} and have that be decoded.

Tool API currently only accepts
Refactor shared code in functional_tests.py into a method.
Small simplification to test/functional/test_toolbox.py.
Refactor tool test parsing logic out of Tool and into ToolTestBuilder.
Make formerly public methods in ToolTestBuilder private now that it does its own construction.
Refactor test data input setup logic out of TestToolBox into ToolTestBuilder.

Simplifying test_toolbox.py will hopefully make it easier to provide an alternative API driven option.
Refactor data staging and tool running logic out of test/functional/test_toolbox.py.

In a new twill specific interactor class, idea here is to proceed by implementing a matching API interactor class.
Upload a tool test's inputs in parallel.

Probably small optimization in most cases since tests generally have few inputs.
Inject master API key into functional test Galaxy.

Override or set external key with GALAXY_TEST_MASTER_API_KEY.
Break up verify_dataset_correctness in twilltestcase.py

Will want to reuse the core verification of the displayed dataset in the API driven case and will not need or be able to use the extra cruft related to checking UI, job state, etc...
Outline new API based galaxy interactor for functional tests.
First crack at GalaxyInteractorApi - working for simple tests.

Lots left to do likely - conditionals, repeats, composite uploads, pages(?).

Introduces dependency on Python requests package (needed-ish for API uploads).