defining filter is not always needed, we can assume match all if no filter is given
upgrade to google guava v 15
don't serialize unneeded filter
Making debian init script bourne shell compatible

Using backticks instead of bash only $() to execute a shell command

Closes #3691
Debian init script: Added armhf openjdk6/7

Added java-6-openjdk-armhf and java-7-openjdk-armhf to JDK_DIRS in debian init.d script per elasticsearch/elasticsearch#3659

Closes #3659
Added docs for named queries.
Relates to #3581
Allow include / exclude of completion stats via REST parameters

Stats can be retrieved on a per-feature / per-component  basis including the fields
they apply to. This commit add support for a 'completion' flag to include statistics
for the complition feature as well as 'completion_fields' to only
include certain fields into the returned statistics.
To disambiguate between 'fielddata' and 'completion' fields this commit
uses 'fields' as the default inclusion filter for stats fields only used
if not dedicated '[completion|fielddata]_fields' paramter is provided.

Relates to #3522
If cluster health times out don't index lots of documents

The SearchWithRandomExceptionTests aim to catch problems when resources
are not closed due to exceptions etc. Yet in some cases the random seeds
cause the index to never be fully allocated so we basically go into a
ping-pong state where we try to allocate shards back and forth on nodes.
This causes all docs to time out which in-turn causes the tests to run
for a very long time (hours or days).
If we can not allocate the index and get to a yellow state we simply
index only one doc and expected all searches to fail.

This commit also beefs up the assertions in this test to check if
documents are actually present if they are indexed and refresh was
successful.

Closes #3694