move the distribution specific parts in a new class

things called from testapi need to be implemented in susedistribution,
code sharing happens in opensusebasetest

But testapi is a global namespace while code sharing has to happen through
$self