change ESSearchTask to use QueryThenFetch using QueryShardRequests

first NPE check should be removed, npe check is already (and must be) done inside synchronized