Add multiple executors

Refactoring / clean up
Adding executors instead of framework messages
I don't see where this has to be "during cluster initialization". This seems to get called anytime there's a TASK_RUNNING status update, even if it's a DN, or some delayed, duplicate non-terminal status update.