catch indices lifecycle failures and log them
make sure we catch index/shard lifecycle failures, and properly log them
Catch EsRejectedExecException on cluster info reschedule
Cut over remaining tests to 'AbstractIntegrationTest'
Throw ESIA if required field 'patterns' is not present in filter config.

If 'pattern_capture' tokenfilter is create / mapped without a 'patterns'
settings we now throw an exception since this is a misconfiguration and
likely due to the similar settings on related token filters.

Closes #3808
Add more anchor links to documentation

Related to #3679
Uniquify anchor links to fix asciidoc/docbook generation
Calling `GET _template` gave a 500 error back.

Also:
We always return a valid json back
If there are no templates define we return 200 OK ( as opposed to a request for a specific template id which returns 404)

Closes #3812
Improved index template tests, among other to test for getting all templates by not specifying a name.
StreamTests only work on 64Bit JVMs

32bit JVMs have different buffer grow behavior. We simply ingore this
since it's a lucene feature that is tested in the upstream project.
Add more debug info to testcase
s/Exception/Throwable
fix term vector api for missing payloads
Allow dynamic templates with match_mapping_type but no path_match or match.

As long as we have some selector we're good.

Closes #3814
Make testcase more reproducible
Uniquify more anchor links to fix asciidoc
Use simple class name as cluster name
Introduced shardStats on InternalIndicesService to expose shard level statistics.
Added a load_average_format=array|hash param to OsStats to allow serializing load averages into a hash (with keys 1m,5m, 15m).
Added node_info_format to NodeStats, allowing to suppress node info output
Return source string instead of calling an infinite recursive loop
Support specifing score query on highlight.

This is useful if you want to highlight terms not in the search query or
you want sort highlighted snippets based on another query.

Closes #3630
introduced support for "shard_size" for terms & terms_stats facets. The "shard_size" is the number of term entries each shard will send back to the coordinating node. "shard_size" > "size" will increase the accuracy (both in terms of the counts associated with each term and the terms that will actually be returned the user) - of course, the higher "shard_size" is, the more expensive the processing becomes as bigger queues are maintained on a shard level and larger lists are streamed back from the shards.

closes #3821