[SPARK-4759] Avoid using empty string as default preferred location

See JIRA for reproduction.

Our use of empty string as default preferred location in `CoalescedRDDPartition` causes the `TaskSetManager` to schedule the corresponding task on host `""` (empty string). The intended semantics here, however, is that the partition does not have a preferred location, and the TSM should schedule the corresponding task accordingly.

I tested this on master and 1.1.