Fix hashCode values of aggregations' BytesValues.

This commit removes FilterBytesValues which is very trappy as the default
implementation forwards all method calls to the delegate. So if you do any
non-trivial modification to the terms or to the order of the terms, you need
to remember to override currentValueHash, copyShared, and this is very
error-prone.

FieldDataSource.WithScript.BytesValues and ScriptBytesValues now return correct
hash codes, future bugs here would be catched by the new assertion in
SortedUniqueBytesValues.

This bug was causing performance issues with scripts as all terms were assumed
to have the same hash code.

Close #5004
Add script support to value_count aggregations.

Close #5001
[DOCS] Deprecated the path setting in favour of copy_to

Relates to #4729
Add S3 and HDFS repositories
[DOCS] add azure and gce discovery plugins

Clean EC2 disco doc
Add Azure disco doc
Add Google Compute Engine doc
Fix Zen doc (add `enabled` in `multicast` parameters list) - Fix #5032.
Ignore case when parsing `script_values_sorted|unique` in aggregations.

Close #5009
[DOCS] Removed the experimental label from Tribe, Hot Threads
and Completion Suggester
[DOCS] Updated migration docs for multi_field to point to copy_to
[Docs] value_count supports script per 1.1
[DOCS] Fix terms agg value script example
[DOCS] Make apt/yum repos more visible
Added `cross_fields` mode to multi_match query

`cross_fields` attemps to treat fields with the same analysis
configuration as a single field and uses maximum score promotion or
combination of the scores based depending on the `use_dis_max` setting.
By default scores are combined. `cross_fields` can also search across
fields of hetrogenous types for instance if numbers can be part of
the query it makes sense to search also on numeric fields if an analyzer
is provided in the reqeust.

Relates to #2959
Updated nodes info endpoint in elasticsearch.yml

Relates to #4055
Fixed the string() code literal in the java client index api doc.
[DOCS] organize a bit the repository plugins

(cherry picked from commit 88e1c20c4581885db7e5e65edf7eb3629c2d31ca)
Add Marvel and Paramedic to config file
add redis transport plugin
Add fuzzy/slop support to `simple_query_string`

Ports the change from https://issues.apache.org/jira/browse/LUCENE-5410
Be paranoid about double release.
Add IndexReader reference counting methods to forbidden APIs.