Fixed bug where active TaskTrackers are killed.

Sometimes, TaskTrackers which are active will fail to get marked as such
because the scheduler is either a) too busy or b) has not received any
offers in a while.  This resolves the problem of TaskTrackers getting
killed by the launch timeout even though they are alive and well.

Furthermore, some parts of the scheduler don't need to be completely
synchronized because they don't modify shared data.