SPARK-1937: fix issue with task locality

Don't check executor/host availability when creating a TaskSetManager. Because the executors may haven't been registered when the TaskSetManager is created, in which case all tasks will be considered "has no preferred locations", and thus losing data locality in later scheduling.
Editing previous comment:
Suppose maxLocality == PROCESS_LOCAL while allowedLocality == RACK_LOCAL (by virture of having waited long enough for a free executor).

Instead of restricting schedule to upto PROCESS_LOCAL, this will now relax it all the way till RACK_LOCAL - which is incorrect (myLocalityLevels might not have PROCESS_LOCAL but could have NODE_LOCAL for example).