Changed should_try_to_verify_correct_number_of_times test to be independent on time problems

Fixed issue #66 (flaky test)
Flickering test - renamed DurationChecker to Timer, removed unnecessary interface (initially wanted to be in accord with convention but the interface was unnecessary), added test for timer, changed other tests to use the Timer.
Tidied up the code around the timeout verification.

Attempted to make the Timer class easier to comprehend.
Moved class to a better package.