Implement mechanism allowing admin API actions without pre-existing user in database.

This key can be set by configuring the new master_api_key option in universe_wsgi.ini. Only set this if you have good reason (e.g. boostrapping galaxy programatically).
Allow user creation via API w/Galaxy auth.

Previously user creation only worked when used with external authentication.

Client code for testing available in blend4j: https://github.com/jmchilton/blend4j/commit/c3bc8cb782e8678956ce66563fc316a15d11862f.
Add API method allowing admins to generate API methods for users.

Moved some now common functionality between user web controller and user API controller into a new CreatesApiKeys mixin.

Client code for testing available in blend4j: https://github.com/jmchilton/blend4j/commit/c3bc8cb782e8678956ce66563fc316a15d11862f.
Refactor shared code in functional_tests.py into a method.
Small simplification to test/functional/test_toolbox.py.
PEP-8 fixes related to tool test parsing.
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.