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 the `has_child`, `has_parent`, `top_children` queries (and filters) in other apis than just search api.
Migrate SearchContext.Rewrite to Releasable. All the parent child queries are now implemented as Lucene queries and the state is kept in the Weight.
Completely disable caching for `has_child` and `has_parent` filters, this has never worked and it also can also never work. The matching docIds are cached per segment while the collection of parent ids is top level.

Closes #3822