add hook to run script before testing begin

- in some cases (e.g. pxe boot testing), there may be a need to
execute some initialization steps before QEMU starts VM.
- This patch adds support for prestart.pm file inside test case
root directory. When this file is detected, it is executed before
VM is created.
add hook to run script after testing finish

- this patch adds support for postrun.pm file inside test case
root directory. When this file is detected, it is executed after
VM is stopped.
action #2856 - Makes the margin related with the needle

Tidy
Fix relative coordinates.
Merge pull request #81 from aplanas/master

action #2856 - Makes the margin related with the needle
make typing more reliable

I moved the actual typing into the backend thread, so the thread can check
that after every keystroke the screen changes. This is much more reliable
than blindly sleeping
doc: hooks documentation
Merge pull request #82 from aaannz/pre-post-scripts

Pre&Post hooks for tests
Merge pull request #83 from os-autoinst/vnc

make typing more reliable
Add a new test case for large margins.
Increase the default value of the margin.
Merge pull request #84 from aplanas/master

 Increase the default value of the margin.
complete the mapping
also wait for vnc to calm down after the whole string
make the vnc typing even more careful
Use a linear model to expand the search area when near to TO.
Merge pull request #86 from aplanas/master

 Use a linear model to expand the search area when near to TO.
Merge coolo's VNC changes.
sleep 50 ms between key down and key up - perhaps this gives back the missing keys
Merge pull request #87 from os-autoinst/coolo_usleep

sleep 50 ms between key down and key up - perhaps this gives back the mi...