[TEST] don't use multiple names (e.g. aliases) pointing to the same concrete index when using indexRandom

indexRandom will try to delete bogus documents multiple times since they get tracked by indexOrAlias/id, and after the actual deletion any other attempt throws error and fails the test
plugins: `bin` and `config` only plugins do not install correctly

When installing a bin only plugin, it is identified as a site plugin.

A current workaround would be to create in the zip file another empty dir. So if you have:

* `bin/myfile.sh`
* `empty/empty.txt`

the `bin` content will be extracted as expected.

Closes #7152.

(cherry picked from commit 8b497ca)
[Test] fix plugins: `bin` and `config` only plugins do not install correctly

Related to #7152.

(cherry picked from commit b72f44b)
Query DSL: Cache range filter on date field by default

A range filter on a date field with a numeric `from`/`to` value is **not** cached by default:

    DELETE /test

    PUT /test/t/1
    {
      "date": "2014-01-01"
    }

    GET /_validate/query?explain
    {
      "query": {
        "filtered": {
          "filter": {
            "range": {
              "date": {
                "from": 0
              }
            }
          }
        }
      }
    }

Returns:

    "explanation": "ConstantScore(no_cache(date:[0 TO *]))"

This patch fixes as well not caching `from`/`to` when using `now` value not rounded.
Previously, a query like:

    GET /_validate/query?explain
    {
      "query": {
        "filtered": {
          "filter": {
            "range": {
              "date": {
                "from": "now"
                "to": "now/d+1"
              }
            }
          }
        }
      }
    }

was cached.

Also, this patch does not cache anymore `now` even if the user asked for caching it.
As it won't be cached at all by definition.

Added as well tests for all possible combinations.

Closes #7114.

(cherry picked from commit 9e68687)
Test: Allow CliTool to write out stacktraces

In order to have the possibility of debugging on the command line, the user
now can either set the es.cli.debug system property
which results in stack traces being written to to the terminal.

Closes #7222
Java client API: CreateIndexRequestBuilder.addMapping throws IllegalStateException if you add same type more than once

Previously, it would silently overwrite the previous mapping, which was trappy.

Closes #7231

Closes #7243
Core: Store index creation time in index metadata

This change stores the index creation time in the index metadata when an index is created.  The creation time cannot be changed but can be set as part of the create index request to allow for correct creation times for historical data.

Closes #7119
Geo: fixes computation of geohash neighbours

The geohash grid it 8 cells wide and 4 cells tall. GeoHashUtils.neighbor(String,int,int.int) set the limit of the number of cells in y to < 3 rather than <= 3 resulting in it either not finding all neighbours or incorrectly searching for a neighbour in a different parent cell.

Closes #7226
Internal:  adjusted visibility to package private for BroadcastShardOperationRequest subclasses and their constructors

Also replaced the String,int pair for index and shard_id with ShardId object that holds the same info and serialized it the same way too.

Closes #7235
[DOCS] mention the type of caches that warmers load
Fix: VerboseProgress(PrintWriter) does not set the writer

(cherry picked from commit 02a90f3)
Tests: move plugin dir to plugins dir

We should be consistent in our naming for classes and resources.

(cherry picked from commit 90dfb35)
Update api & Indices stats: fixed version checks for no-op updates which got in after 1.3 was released

Also added basic bw comp test for indices stats api.

Relates to #6822
A content decompressor that throws a human readable message when
compression is disabled and the user sends compressed content.
Add GroovyCollections to the sandbox whitelist

Also clarify in the docs that changing the whitelist/blacklist settings
replace the list, they don't add to it.

Fixes #7089
Fixes #7088
Forbid index names over 100 characters in length

Fixes #4417
Add [1.3.3] and [1.2.5] version constants.
[DOCS] Clarify Completion Suggester output deduplication
Internal: adjusted BroadcastShardOperationResponse subclasses visibility

Also replaced int,String pair with ShardId that holds the same info and serializes it the same way.
Replaced shardId and index getters in BroadcastOperationRequest with a single ShardId getter.

Closes #7255
Plugins: Add executable flag to every file in bin/ after install

The PluginManager does not preserve permissions on install. This patch
sets the executable flag on every file in bin/ on plugin install.

Closes #7177