Fix broken links in example configuration file
Doc values integration.

This commit allows for using Lucene doc values as a backend for field data,
moving the cost of building field data from the refresh operation to indexing.
In addition, Lucene doc values can be stored on disk (partially, or even
entirely), so that memory management is done at the operating system level
(file-system cache) instead of the JVM, avoiding long pauses during major
collections due to large heaps.

So far doc values are supported on numeric types and non-analyzed strings
(index:no or index:not_analyzed). Under the hood, it uses SORTED_SET doc values
which is the only type to support multi-valued fields. Since the field data API
set is a bit wider than the doc values API set, some operations are not
supported:
 - field data filtering: this will fail if doc values are enabled,
 - field data cache clearing, even for memory-based doc values formats,
 - getting the memory usage for a specific field,
 - knowing whether a field is actually multi-valued.

This commit also allows for configuring doc-values formats on a per-field basis
similarly to postings formats. In particular the doc values format of the
_version field can be configured through its own field mapper (it used to be
handled in UidFieldMapper previously).

Closes #3806
Fix GetIndexTemlatesRequest if serialized with includeAll and a old ES version
Add AssertingTransport that deploys basic BW-Compat serialization checks
Added an AwaitsFix to testDeleteAllOneIndex. Martijn is on it.
moved AwaitsFix to class level
Added IndexRequest#source(Object...) input validation

Added checks to IndexRequest#source(Object...) to ensure and even number
of parameters. This method otherwise throws an AIOOBException which is
confusing to users and doesn't report the root cause of the problem.
Fix small doc mistakes
[DOCS] Moved "named filters/queries" up one level
Enable Random TransportClients in tests
Add clear warnings that only the default codec, postings format and doc values format have backward compatibility warranties.
In the delete by query also acquire a searcher when shard state is RECOVERING and POST_RECOVERING
Add Random MergePolicy via index templates in integration tests

This commit adds support for random merge policies set for every
index created in an AbstractIntegrationTest. It will either set
'logbyte', 'logdoc' or 'tiered' merge policy as well as a random
value for compound files.
Fixed serialization error. POST_RECOVERY is now also serialized
Serialization improvement
Allow 'index.compound_on_flush' to be dyncamically changed
[DOCS] Added more specific versions to the suggesters
Use Locale.ROOT by default to parse dates instead of the system locale.

Closes #3852.
Support year units in date math expressions
According to http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-date-format.html, the date math expressions support M (month), w (week), h (hour), m (minute), and s (second) units. Why years are not supported? Please add support for year units.

Closes #3828.
Closes #3874.
Fix RobinEngineIntegrationTest - missed to explicitly create the index