Use load_tests protocol within test suite

Allow the list of tests to be specified for both
Python 2.6 and 2.7 setup.py using a collector method in __init__.py,
and use load_tests so nosetests also uses the same list of tests to
be run by default.

Provide an ordering that tests basic components first, and steps up
to test scripts which exercise larger parts of the package together.

Disable the ui and weblib tests in the module tests collector instead of
within those test files.  This will allow the ui test module to be
restructured so that the functionality is visible when not called on the
command line.

Allow individual tests to be disabled to assist with identifying which
tests are causing problems.

Revise script tests so that test functions exist for scripts which
are problematic, but those tests not included in the default list.

Change-Id: Ic0e18457888b428222a9dcbefcec9e1740b573aa
Merge "Use load_tests protocol within test suite"