Add distance supported units
rework script to handle path with spaces
use service id for pid name
disable filtering on *.exe (caused corruption)
rename exe names and add more options to .bat
start/stop operations are now supported (and expected to be called) by service.bat
add more variables from the env to customize default behavior prior to installing the service
add manager option
fixes regarding batch flow
specify service id in description
minor readability improvement
include .exe only in ZIP archive
rename x64 service id to make it work out of the box
add elasticsearch as a service for Windows platforms
based on Apace Commons Daemon
supports both x64 and x86

(cherry picked from commit 08bf13189976070cf8f6779a7df63385c31d6d05)
Print '-Des.x.y' properties in reproduce line
release 0.90.5
move to 0.90.6-snap
Don't throw set exception if it is an error based exception, this breaks how we deal with assertions in general.
Added sort_mode and sortMode parameters to _geo_distance sort.
Previously it just support the "mode" parameter, which is
inconsistent

Closes #3717
change default number of test jvms to 1
the auto default can cause a lot of pressure on a machine when running the tests (each process actually runs a multi node cluster)
Make TestCluster based integration tests more repoducible

While testing an async system providing reproducible tests that
use randomized components is a hard task we should at least try to
reestablish the enviroment of a failing test as much as possible.
This commit allows to re-establish the shared 'TestCluster' by
resetting the cluster to a predefined shared state before each test.

Before this commit a tests that is executed in isolation was likely
using a entirely different node enviroment as the failing test since
the 'TestCluster' kept intermediate nodes started by other tests around.
Simplify NestedFieldComparators for numerics

The average and sum comparators basically share the same code which is
copy-past today. We can simplify this into a base class which reduces
code duplication and prevents copy-paste bugs.
Randomized SearchScanTests
Disable random ram directories to prevent OOM during tests.

We need to find a way to enable this without adding crazy heaps etc.
Maybe only selected tests can run this.
If there is an exception that indicates that the shard isn't available then the exception should bubble up to the TransportShardSingleOperationAction class, so the shard level request can be retried on a different shard. (multi get api)
Added acknowledgment timeout test to OpenCloseIndexTests
Delete Template: When deleting with * and no templates exists, don't 404
closes #3723
improve logging on before/after shared cluster tests
Fix formatting of the documentation.

Remaining '@'s have been replaced with '`'s.
Removed wrong assertion from OpenCloseIndexTests

If a request hasn't been acknowledged, there's no guarantee for any node to hold the up-to-date cluster state (not even the master yet, as the execution is asynchronous)
improve failure message when timing out on green/yellow
call ensureGreen() to get more meaningful debug output on failure