Initial implementation of ResourceWatcherService

Closes #4062
[DOCS] Add some documentation about the performance of  `_source` usage in scripts.
[DOCS] Added a basic information about the official Ruby client to documentation
[DOC] Added a link to the official Ruby client to the "Clients" page
Fix possible NPE in ClusterState.toString()

ClusterState.toString() can throw NPE if at least on index template exists in the cluster state.
Added support for highlighting multi term queries using the postings highlighter

Closes #4042
Added tool to build a complete Elasticsearch release.

This tool builds a release and runs several checks to make sure the
release is in a reasonable shape (smoke test). From a top level
perspective it runs the following steps:

 * clean the build environment `mvn clean`
 * check if a Java 6 JDK is available
 * run the tests with network and local
 * generates the checksums for the binary packages
 * uploads the binary packages to Amazon S3
 * runs a 'mvn deploy' to publish the maven artifacts

The script will create an intermediate branch from a given 'release
branch' updates all versions based on the version we are currently
releasing. Updates the 'pom.xml' file as well as the 'Version.java'
class. Once this is done it commits the changes and rebase with the
branch we want to release from, merges the changes from the intermediate
branch and pushes to the given remote repository including the release
tag.
Fix typo in mvn command for running with multiple JVMs
move to [0.90.7] SNAP
Improve top level documentation for building releases
Keep word filter through an error if `keep_word_path` was specified.

Closes #4073
Added simplified range syntax to query string docs
Remove Index Reader warmer introduced in 0.90.6
It create the following challenges:
- it automatically load all the norms for all fields. This should be an opt in feature similar to the new loading feature in field data. Will open a separate issue for it.
- It automatically loads all doc values for all fields (if they have it), overriding effectively the loading option of field data when its backed by doc values.

closes #4078
[DOCS] Added documentation for the keep word token filter
Added doc file processing to update coming/added references

We use 'coming[x.y.z]' in our ref docs which needs to be updated
when doing a release to 'added[x.y.z]' This commit adds support
for replacing the references where applicable during preparing the release.
Resolve aliases on redirects inside TransportMoreLikeThisAction

fixes #4045
Optimize concrete index resolution in TransportMoreLikeThisAction
Remove unreleased versions from master & fix 0.90.6 Lucene Version
Throw an exception if a type's mapping root node is not equal to the type in question.

Also, fix all the problems it brought up in tests.
Removed OverrideTypeMappingTests as it is no longer relevant.
Better naming for the default percolator mapping and change it's content use _default_ as root node.

Closes #4038
Add optional RPM building, signing and uploading to release script