Added `_shards` header to all write responses.

The header indicates to how many shard copies (primary and replicas shards) a write was supposed to go to, to how many shard copies to write succeeded and potentially captures shard failures if writing into a replica shard fails.

For async writes it also includes the number of shards a write is still pending.
I can't comment on the right place because it's not part of the change, but in the following code:

```
  RestStatus status = OK;
                 if (!result.isFound()) {
                     status = NOT_FOUND;
                 }
```

I think we should start with status = result.getShardInfo().getStatus(), no?