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.
@mridulm - Thanks for replying. In my opinion, however, relaxing the allowed locality won't change the scheduling order. NODE_LOCAL tasks (if any) still get scheduled before RACK_LOCAL ones. And if we allow RACK_LOCAL but get a NODE_LOCAL task, currentLocalityIndex will be updated so that next time we will use NODE_LOCAL as the constraint.
However, if we restrict up to PROCESS_LOCAL while it's in fact not valid for the TaskSetManager, the NODE_LOCAL and RACK_LOCAL tasks will be skipped and we may end up picking tasks from pendingTasksWithNoPrefs.