[#2391] Emit an error when failing to start.

Problem
=======

When an emitter fails on Linux, the whole thread locks.

Why
====

Stupid code which was not updating the ready condition on errors.


Changes
=======

There are a lot of small changes

* updated legacy .isAlive() with new is_alive() which is supported in Python3.
* removed stupid while/sleep code with thread friendly Event.wait()
* merge tests from /tests from upstream code.
* fixed some extra spacing
* fixed build system which was not cleaning the previous files
* added basic tests for all observers that we use on Win/Linux/Solaris/AIX... in the future we should be able to build on top of them
* Update paver run and paver run_native manual testing tasks.
* Add buildbot integration
* A thread can not be started twice. So we can not re-start a failed emitter... this is why failed emitters are removed.

How to test
=========

reviewers: @alibotean 

check that changes make sense.

I will use this build to server release so it will also be tested by Laura.

Thanks!
We might want to copy over the docstring also.