re-work some of the test framework for less copying.
here we do the following cleanup:
a.) re-order some of the tests in a file, so that
for a given test, we do in release order (Precice, Trusty, Vivid..)
this is purely cosmetic and not enforced by anything.
b.) add releases.py and use it to define the
what was being defined in each test case. That removes duplication
of 'arch', 'repo', and 'release'
c.) generally clean up duplication that was present
d.) use __test__ = False for any class that is a subclass of TestCase
that should not be tested. That makes nosetests skip it.