Use debug logging rather than info for rejected ping task

This exception is thrown on node shutdown and doesn't indicate
an critical situation but rather is caught for consistency reasons.
mark bool field type as not toknized
even though we use keyword analyzer for the bool type, we should mark it as not tokenized in the lucene field type as well, no reason to take it though analysis phase to begin with
Use assertions that print out shard failures, if there are any
Removed AliasMissingException, get alias api will now just return an empty map. In the rest layer a 404 is returned when map is empty.
Added support for named filters in top-level filter

Closes #3097
Added prefix suggestions based on AnalyzingSuggester

This commit introduces near realtime suggestions. For more information about
its usage refer to github issue #3376

From the implementation point of view, a custom AnalyzingSuggester is used
in combination with a custom postingsformat (which is not exposed to the user
anywhere for him to use).

Closes #3376
Improving test CompletionSuggestSearch test stability

Ensuring that the maximum number of replicas is less than the number of nodes.
Don't cache BytesRef in ThreadLocal
Wait for green status when index is created
Make (HighlightBuilder|SearchContextHighlight).Field consistent

Update HighlightBuilder.Field API, it should allow for the same API
as SearchConstextHighlight.Field. In other words, what is possible
to setup using DSL in highlighting at the field level is also
possible via the Java API.

Closes #3435
Added index templates REST support for HEAD and proper 404

* Added HEAD support for index templates to find out of they exist
* Returning a 404 instead of a 200 if a GET hits on a non-existing index template

Closes #3434
Overwriting pidfile on startup

The current implementation does not overwrite, but only prepend the new PID into the pidfile.
So if the process is 4 digits long, but the file is already there with a 5 digit number, the file will contain 5 digits after the write.

Note: If the pidfile still exists this usually means, there either is already an instance running using this pidfile or the process has not finished correctly.

Closes #3425
Added busy waiting util and add suite timeout.

Some rare tests require to busy-wait a short time until a given
condition occurs for instance until a threadpool scaled down the
number of threads. This commit adds a util that waits a give time
until a condition is met, in contrast to Thread.sleep this method
waits increases the wait time by doubleling the waiting time
iterativly by doubeling it to prevent fast tests to always wait
a given sleep interval.

This commit also adds a suite timeout to fail a test if the test
times out. The test infrastructure will provide thread stack traces
if the timeout kicks in. The default timeout is set to 1h.
Fix occasionally hanging test moving away from timeouts.

Fixes EsExecutorTests to use latches and a busy wait util from
ElasticsearchTestCase. This commit also adds some minor randomization
to the test.
Streamline Search / Broadcast (count, suggest, refresh, ...) APIs header

closes #3441
the ttl purger might have already deleted the documents.
Add better assertion reporting if nodes are not present in the ClusterState
Use busy sleeps in NoMasterNodeTests

The busy sleep is less prone to slow tests / machines while still
fails if the actual condition isn't met.
Use domain specific assertions for shard failures across tests
Catch RejectedExecutionException in outer ping request