Perform write consistency check on node that holds primary shard instead of the node that receives the request

I think this one line change is okay and not bad at all. Because the write validation check now happens on in performOnPrimary() the doStart() will return true even if the check fails, so the following check in the onTimeout() method on the observer listener doesn't help in case the write check fails:

```java
if (doStart()) {
   return;
}
```

If the write check fails we always invoke the retry(...) method, so I think it is fine to invoke raiseTimeoutFailure() there as well.