Refactoring the tests, making the pomodoro instantiation explicit

Will help define other sleepers in future tests.
The Pomodoro class now supports pomodoro interruptions

To support this modification, the Sleeper interfaces had to be changed.
Sleeper#sleep now must return the status of the sleep as a string.
The Sleeper can now read user input

Initially it reads using the unix read command.
It will have to be improved if other  operating systems get supported.
Refactoring: normalizing the user input only once.
Refactoring: FakeSleeper first user input is now a parameter
Pressing 'q' now raises an UserRequestedTermination Error
Handling UserRequestedTermination at the main bubbledoro loop.
Changing the msgs displayed to the user.

Showing the user the options he has.