introduce cleanup handler

when reading needles we need to throw some away that don't match the
tags. In interactive mode needes are re-read so there needs to be a
handler that is called on init. Therefore introduce a callback.
Merge pull request #30 from lnussel/cleanuphandler

introduce cleanup handler
init needles after main.pm

cleanup handler is installed by main.pm so needles must be initialized
afterwards.
Merge pull request #31 from lnussel/cleanup

init needles after main.pm
Rename sendkey to send_key.
Rename sendautotype to type_string.
Merge _nosleep with the main mouse function.
Merge pull request #32 from aplanas/master

Rename sendkey to send_key.
Fix perl bugs.
Rename waitforneedle to assert_screen.
Merge pull request #33 from aplanas/master

Fix perl bugs.
Rename checkneedle to check_screen.
Merge pull request #34 from aplanas/master

Rename checkneedle to check_screen.
Remove check_screen method from basetest.
Merge pull request #35 from aplanas/master

Remove check_screen method from basetest.
don't blindly wait but asset the runner is there

the needles for that are already pushed
Merge pull request #36 from os-autoinst/coolo_desktop_runner

don't blindly wait but asset the runner is there
Remove waitcolor, check_color and test_check_color.
Remove waitimage.
Remove waitinststage.