Use mocks for testing the Timer
Since timer tests using real delays are flaky, mock all timer calls instead.
Also:
- Remove unused print_on_destruction and log_on_destruction options of the Timer.
- Add tests for the constructor and += operator.
Edited by Maik Nijhuis