Add base test class to make subclassing possible

Prior to this change it was difficult to do things like add test classes
that tested zuul with different configs. Most tests were in a single
monolithic test class with one config. This commit splits this
monolithic test class into a base test class that handles all of the
supporting test actions (configuration, service starts, final test state
assertions, and so on) and a Scheduler test class that tests the Zuul
scheduler.

Now we can write new test classes that subclass the new base class to
test additional things with the same supporting features in the test
framework.

Change-Id: I3ebcce8a334604d02612ea9d8364d4c4eb17b0ac
Merge "Add base test class to make subclassing possible"