Clean up wording to reduce confusion

The description of the timeout parameter was worded misleadingly; it implied that the API would wait until the cluster reached the desired level and then stayed at that level for the timeout. I've tweaked the sentence to remove the risk of confusion.
Added facet support to the percolate api.
Closes #3851
Fix markup
externalize writing "raw" fields to helper method
Merge pull request #3940 from rboulton/patch-1

[Docs] Clean up wording in cluster health api doc
Java API: Setting track scores does not affect scan search type
When setting track scores, the scan search type will return the scores for each document. The Java API builder does not properly set this value (it only sets it if a sort in in place, which is not relevant for scan search type).

closes #3949
Add doc values to TermsFacetSearchBenchmark.
Add a GetFieldMapping API

This new API allows to get the mapping for a specific set of fields rather than get the whole index mapping and traverse it.
The fields to be retrieved can be specified by their full path, index name and field name and will be resolved in this order.
In case multiple field match, the first one will be returned.

Since we are now generating the output (rather then fall back to the stored mapping), you can specify `include_defaults`=true on the request to have default values returned.

Closes #3941
Updated based on feedback