Resiliency: Perform write consistency just before writing on the primary shard

Before this change the write consistency change was performed on the node that receives the write request and the node that holds the primary shard. This change removes the check on the node that receives the request, since it is redundant.

Also this change moves the write consistency check on the node that holds the primary shard to a later moment after forking of the thread to perform the actual write on the primary shard. 
Instead of create a new shardIt and calling shards() - maybe work on `state.getRoutingTable().index(shard.index()).shard(shard.id())`?