Fixing debian init script to work on ubuntu LTS

sysctl parameters must be separated like `-q -w` instead of `-qw`
Add new `simple_query_string` query type

This adds support for Lucene's SimpleQueryParser by adding a new type
of query called the `simple_query_string`. The `simple_query_string`
query is designed to be able to parse human-entered queries without
throwing any exceptions.

Resolves #4159
refresh the mapping source directly into a compressed buffer
instead of building the mapping source, and then compressing it, we can generate it directly into a compressed buffer
properly support global transport compression with new bytes transport request optimization
randomize transport tcp compression on nodes
Print nice error in bin/elasticsearch if user needs to run maven

Before, people that cloned the repo and expected to be able to run
bin/elasticsearch would be met with an awful shell error: the shell
interprets Maven variables like ${project.build.finalName} as shell
variables yet can't handle names of the form ${x.y}. This commit
explicitly checks to make sure that Maven has done its substitutions
before continuing; if Maven hasn't been run, it gives a helpful error
message.

Fixes #2954.
A failure during the response construction could cause a Node Operation never to return
Add `queries` to XContent output of PercolateStats

The queries stats tracked but not exposed to the Rest API

Closes #4440