[TEST] thrown error when there are no REST tests to run
[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.
(cherry picked from commit 503896f)
[DOCS] Make apt/yum repos more visible
Fixed the string() code literal in the java client index api doc.
Add Marvel and Paramedic to config file
add redis transport plugin
fixed trace logging hidden by check for isDebugEnabled
Upgrading analysis plugins fails

When an analysis plugins provides default index settings using `PreBuiltAnalyzerProviderFactory`,  `PreBuiltTokenFilterFactoryFactory` or `PreBuiltTokenizerFactoryFactory` it fails when upgrading it with elasticsearch superior or equal to 0.90.5.

Related issue: #4936

Fix is needed in core. But, in the meantime, analysis plugins developers can fix that issue by overloading default prebuilt factories.

For example:

```java
public class StempelAnalyzerProviderFactory extends PreBuiltAnalyzerProviderFactory {

    private final PreBuiltAnalyzerProvider analyzerProvider;

    public StempelAnalyzerProviderFactory(String name, AnalyzerScope scope, Analyzer analyzer) {
        super(name, scope, analyzer);
        analyzerProvider = new PreBuiltAnalyzerProvider(name, scope, analyzer);
    }

    @Override
    public AnalyzerProvider create(String name, Settings settings) {
        return analyzerProvider;
    }

    public Analyzer analyzer() {
        return analyzerProvider.get();
    }
}
```

And instead of:

```java
    @Inject
    public PolishIndicesAnalysis(Settings settings, IndicesAnalysisService indicesAnalysisService) {
        super(settings);
        indicesAnalysisService.analyzerProviderFactories().put("polish", new PreBuiltAnalyzerProviderFactory("polish", AnalyzerScope.INDICES, new PolishAnalyzer(Lucene.ANALYZER_VERSION)));
    }
```

do

```java
    @Inject
    public PolishIndicesAnalysis(Settings settings, IndicesAnalysisService indicesAnalysisService) {
        super(settings);
        indicesAnalysisService.analyzerProviderFactories().put("polish", new StempelAnalyzerProviderFactory("polish", AnalyzerScope.INDICES, new PolishAnalyzer(Lucene.ANALYZER_VERSION)));
    }
```

Closes #5030
Be paranoid about double release.
Add IndexReader reference counting methods to forbidden APIs.
Use patched version of ReferenceManager to prevent infinite loop in
RefrenceManager#accquire()

See LUCENE-5436
Move to [0.90.12-SNAPSHOT]
[TEST] run REST tests against multiple nodes (round-robin)

Multiple nodes are now started when running REST tests against the `TestCluster` (default randomized settings are now used instead of the hardcoded `1`)

Added also randomized round-robin based on all available nodes, and ability to provide multiple addresses when running tests against an external cluster to have the same behaviour
Log warning in case of double release of the IndexSearcher instead of throwing an exception.
Wait for green in mlt tests
[DOCS] Updated cross-doc refs in the 0.90 branch
Bulk process of shard started/failed should not execute on already processed events
closes #5061
add version to cluster state xcontent
Set high refresh setting in get_source realtime tests to make sure it doesn't kick in
[TEST] Fixed delete/50_refresh REST test to work against multiple nodes

delete/50_refresh tests per shard refresh using refresh:true in delete api. We might run into troubles though if we have a replica that gets initialized after a doc was indexed and deleted, without a refresh, as that doc won't be found when searching against that specific replica shard (as a refresh happens automatically before a replica gets exposed as started).