_cat/allocation: Guaranteed to have at least zero shards
_cat/allocation: disk.avail can be zero, if so, want to show 100%

Closes #4835
fix if hook failure when running under jenkins

Local mode modification done previously faulty.  env[‘WORKSPACE’ is not
the sufficient discriminator to see if script is running under Jenkins.
  This fails on the Jenkins parent jobs since those type of jobs don’t
have WORKSPACE set.
[DOCS] Updated the breaking changes for the fields param

Closes #4888
Don't throttle the translog stage of recovery
After copying the index files (which are throttled), we currently throttle the translog as well. The translog phase3 part is performed under a lock, so its better not to throttle it at all, and move it as fast as possible.
update link to Hadoop Snapshot/Restore plugin
Fix test to use at least one document
mget REST API should support source parameter

As stated in documentation, we should support `?source=` parameter in mget REST operations.

This is how to reproduce it:

```sh
curl -XDELETE "http://localhost:9200/test"

curl -XPOST "http://localhost:9200/test/type/1?refresh" -d'{
    "foo": "bar"
}'

curl -XPOST "http://localhost:9200/test/type/_mget" -d'{
    "ids": ["1"]
}'

curl -XGET "http://localhost:9200/test/type/_mget?source=%7B%22ids%22%3A%20%5B%221%22%5D%7D"
```

Closes #4892.
Revert mget yaml test changes

Relative to #4892
Revert mget yaml test changes

Relative to #4892
Bulk: Failed preparsing does not fail whole bulk request

If a preparsing of the source is needed (due to mapping configuration,
which extracts the routing/id value from the source) and the source is not
valid JSON, then the whole bulk request is failed instead of a single
BulkRequest.

This commit ensures, that a broken JSON request is not forwarded to the
destination shard and creates an appropriate BulkItemResponse, which
includes a failure.

This also implied changing the BulkItemResponse serialization, because one
cannot be sure anymore, if a response includes an ID, in case it was not
specified and could not be extracted from the JSON.

Closes #4745
Cluster state toXContent serialization only returns needed data

In order to make sure, that only the requested data is returned to the client,
a couple of fixes have been applied in the ClusterState.toXContent() method.
Also some tests were added to the yaml test suite

Closes #4885
move msearch to use atomic array instead of synchronize
[TEST] Improved IndexAliasesTests

more assertAcked, removed TODO and needless sleep
Improved CreateIndexRequest and CreateIndexRequestBuilder javadocs
[TEST] Added REST tests for create index api
Add missing PHRASE flag for simple_query_string

Closes #4911
Percolator response now always returns the `matches` key.

Closes #4881
[DOCS] unified index settings info and added warmers section in create index docs
Changed GeoEncodingTests to ensure accuracy always >1mm due to rounding errors with very small numbers