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.
Added support for readable_format parameter when printing out time and size values

The following are the API affected by this change and support now the readable_format flag (default false when not specified):
- indices segments
- indices stats
- indices status
- cluster nodes stats
- cluster nodes info

Closes #3432
added XContentBuilder common methods to handle ByteSizeValues and TimeValues