split testapi from bmwqemu

This makes it easier to refactor as we clearer define what the tests
are supposed to access. For this I also added functions to get and set
into %vars
I can and I will, but I wanted to hear what rule it should be. My primary goal for the first step was defining the test API and change the tests. Everything else is refactoring :)