PEP-8 fixes and style touch-ups for test/functional/test_toolbox.py.
PEP-8 fixes for scripts/functional_tests.py.
Still contains some unused imports. Perhaps these are reimported elsewhere?
Refactor test_toolbox.py into smaller methods.
Enhanced readability, hopefully will aide in plugging in an alternative API driven backend.
Implement functional test env. variable GALAXY_TEST_DB_TEMPLATE.
Middle ground between recreating a completely new database and pointing at existing database with GALAXY_TEST_DBURI. The former requires a lot of setup time, the latter results in test failures in certain cases (namely tool shed tests expecting clean database).

GALAXY_TEST_DB_TEMPLATE can be either a file path (absolute) or URL.

In order to facilitate this, a new Galaxy config option (database_auto_migrate) has been added. If this option is enabled, when Galaxy starts up and points at an existing database, if that database is not at the newest version it will be automatically migrated. This option defaults to False, but is enabled in testing if GALAXY_TEST_DB_TEMPLATE is set.

I think we should go a step further and make this (database_auto_migrate) default to True if database_connection references an sqlite database - unless we believe there are Galaxy instances out there based on sqlite that are REALLY old or that are production enough to warrent requiring admins to do that database migration in a separate step (presumably encouraging them to make a backup pre-migration). Thoughts?
Merged in jmchilton/galaxy-central-fork-1 (pull request #246)

Small functional test framework enhancements