s/ElasticSearch/Elasticsearch in src/test
Use smart client in busy waiting loop

This test fails since we use random transport clients. Let's see
if it stabelizes with a smart client in the loop and debug further
if it helps.
Added missing builder.endObject calls
Retry blocking if async indexing is rejected due to queue size

Some tests use AbstractIntegrationTest#indexRandom which sometimes uses async
indexing. This can easily run into queue size based rejections on a slow
box. In that case we should retry blocked indexing.
Randomly use Bulk in AbstractIntegrationTest#indexRandom
Add match query support for stacked tokens

SynonymFilters produces token streams with stacked tokens such that
conjunction queries need to be parsed in a special way such that the
stacked tokens are added as an innner disjuncition.

Closes #3881