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
synchronize names between testapi and bmwqemu
Merge pull request #118 from os-autoinst/coolo_split_testapi

split testapi from bmwqemu
fix usage of load_snapshot
more functions to export
stop_vm is in bmwqemu
obsoleted wait_encrypt_prompt() in testapi
move things that are possibly distribution specific to basetest

so we can overload them. Remove also check function, that is dead since
ages
move distribution specific parts into the distribution
Merge pull request #119 from nilxam/obsolete_wait_encrypt_prompt

obsoleted wait_encrypt_prompt() in testapi
Merge pull request #120 from os-autoinst/move_to_basetest

Move to basetest
fixes wrong category name
Merge pull request #121 from nilxam/fix_wrong_category_name

fixes wrong category name
move the code that is run behind every test to a hook function

Also introduce a pre run hook for symmetry
Merge pull request #122 from os-autoinst/post_hook

move the code that is run behind every test to a hook function
install testapi.pm too
clean up old screenshots in start.pl not in isotovideo
add a 3rd thread handling outside commands

redefine QEMUPORT to be the port of qemu (got lost somewhen :)
QEMUPORT+1 has a HTTP server running mojolicious::lite
implement routes used by tests:

/data for a cpio archive of the distri's data directory
/data/#filename for a single file from data
/uploadlog/#filename for uploading a log file
a bit cleanup in the documentation