Make sure successful operations are correct if second phase is fast

In TransportSearchTypeAction we  need to increment successful ops
first before we increment and compare the exit condition otherwise if we
are fast we could concurrently update totalOps but then preempt one
of the threads which can cause the successor to read a wrong value from
successfulOps if second phase is very fast ie. searchType == count etc.
This can cause wrong success stats in the search response.
Fixes typo in "Scan" search type documention
ElasticsearchIllegalStateException when invoking _cat plugins

Reproducible using ES 1.1.0.

`/_cat/plugins` works fine when no plugins are installed.

But once a plugin is installed (eg. latest marvel), it throws an exception indicating that the resulting table constructed has 7 fields in the header row but not enough fields in the data rows to make it a valid table.

```
{
  "status" : 500,
  "error" : "ElasticsearchIllegalStateException[mismatch on number of cells 6 in a row compared to header 7]"
}
```

This issue has been introduced when we removed `isolation` feature in 1.1 branch. See c34d8bd.

Closes #5715
Failed shards could be re-assigned to the same nodes if multiple replicas failed at once

After a shard fails on a node we assign a new replica on another node. This is important in order to avoid failing again due to node specific problems. In the rare case where two different replicas of the same shard failed in a short time span, we may fail to do so and assign one of them back to the node it's currently on. This happens if both shard failed events are processed within the same batch on the master.

Closes #5725
Fix format string for DiskThresholdDecider reroute explanation
[Docs] Allocation setting explanation

Closes #5748
Fixed an where a nested `nested` aggregation falls outside of its parent `nested` aggregation bounds.

The nested `nested` aggs now gets the proper parent docs that define its bounds correctly.

Closes #5728
The clear scroll apis now optionally accepts a scroll_id in it body.

Closes #5726
Ignored clear scroll rest test
Each search request should use a new InternalSearchResponse instance even in case when all shards return no hits.
The InternalSearchResponse may get modified afterwards, so a new instance required at all times.
Ensure pending merges are updated on segment flushes

Due to the default of `async_merge` to `true` we never run
the merge policy on a segment flush which prevented the
pending merges from being updated and that caused actual
pending merges not to contribute to the merge decision.

This commit also removes the `index.async.merge` setting is actually
misleading since we take care of merges not being excecuted on the
indexing threads  on a different level (the merge scheduler) since 1.1.

This commit also adds an additional check when to run a refresh
since soely relying on the dirty flag might leave merges un-refreshed
which can cause search slowdowns and higher memory consumption.

Closes #5779
Geo: Allow to parse lat/lon as strings and coerce them

In order to be more failsafe parsing GeoPoints can support
lat/lon as strings and coerce them. Added support and test for this.

This is a part of the patch of 8b8cd26a59ece1f42ffb0f688c2ace1b3da6d083 from PR #5626
[TEST] Assert search response in MinDocCountTests#testMinDocCountOnTerms
Added trace logging in TransportSearchTypeAction and a delayed verification of test failures in MinDocCountTests.testMinDocCountOnTerms
[TESTS] Add more assertSearchResponse to aggregations tests.
[Test] added trace logging to refresh action to note which cluster version was used

Increase logging level for SearchWithRandomExceptionsTests.testRandomExceptions & MinDocCountTests to use the above and log cluster states on changes.
Upgrade to Lucene 4.7.2
Check for no open issues before build release
Separate persistent and global metadata serialization settings
Blob store-based gateways shouldn't serialize transient metadata

Fixes #5615