Fix version so that yarn-alpha profile can compile
Fixes two related issues (as detailed in the comments):

a) Ensure that on task failure, the re-execution of the task does not use the same executor immediately.
This is disabled by default, but can be enabled by configuring a > 0 timeout value.

b) In context of containers/workers with multiple threads - try to schedule as much jobs with the specified locality before moving on to more relaxed locality.
For example, if executor1 on node1 has two threads - earlier, both need not necessarily be used for PROCESS_LOCAL (, etc) scheduling - just one would.
The second might be used, if lucky - else the task could also be assigned to another worker while doing NODE_LOCAL.
If this description makes no sense, I can re-formulate it :-)