Make discover run the same tests as 'make test'.

We use test parameterisation in test_deferredruntest, but hadn't
defined a load_tests hook to inform discover of that.

Change-Id: Ib32d7cf88b1a9e311476a5286357e46e65de1f1f
Depend on unittest2

For now the main change this brings that that we inherit it's discovery
functionality and the ``TestProgram`` base class.

This brings in many fixes made to discovery where previously we were only using
the discovery package or the version in the release of Python that the test
execution was occuring on. (Robert Collins, #1271133)

Change-Id: I6270c8e8949262c01cb3a4e40735077ad6fc1ef2