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 think this should be all shards *of* an index. Also "remains to be based on" should be "The http status code is left unchanged and is only based on failures that occurred while executing on primary shards".