397769 - TimerScheduler does not relinquish cancelled tasks.

Implemented ScheduledExecutorScheduler, using JDK's ScheduledExecutorService implementation and configuring it to remove tasks on cancel.