Added the tests to build threads
Added a test to check thread start

Execution of code is up to runnable classes (or subclasses). The
runnable interface was added to implement this behaviour.
Added a first approach of a thread class
Added a subclassing mechanism

Right now, threads can be started (or created) either by providing a
runnable object at initialization or by subclassing thre Thread class.

Next steps include:
- implement a real error management
- remove the sleep() call on tests!
Added join method to wait for a terminated thread

Additionally the join method allowed me to remove that calls to sleep()
on starting tests
Extracted mock objects out of testing code
Marked the place to report errors on threads