Fixed deadlock.

The attempt to fix this problem from 3cecb36 was incomplete. There was
another case where timer.cancel() was being called.

I've also removed some unneeded synchronization and added a separate
scheduler service for the MesosTracker timers.