move (most of) ppm usage to opencv functions

The functions for opencv are stubs only (all in tinycv_impl.cc)

I removed the ppm module completely and replaced it with the cv
module. This is highly untested as testing is hard with stubs
add a destroy function, helps to survive
Add image_differ and image_avgcolor functions.
- catch errors in image_differ
- fix some crashes in the perl bindings
- save pngs instead of ppm
wait for the qemu screenshot to appear - we have no other way than busy sleep ;(
Add image_scale and image_similarity signatures.
wait for ppms to finish from kvm
Add prototypes in xs.
Add image_scale code.
Add image_similarity using PSNR.
use symlinks instead of hardlinks for duplicated images - much easier to work with
remove the use of image_differ and use image_simliarity instead
Change the value for similar images
Clean image_search, using the search_TEMPLATE function
remove md5 checksums
rework the take_screenshot to not write out the png if it's the same

Just rely on symlinks
make sure we only sleep till the rest of the interval
change default screenshot interval
parse the distribution needles
implement a needle search - taking optionally an array reference