* Check if size is set if sort is used, if not throw exception.
* Fix reduce error when reducing shard responses.
* Short circuit reduce phase when possible (single matches & no matches)
Prevent Phrase Suggester from failing on missing fields.

Unless the field is not mapped phrase suggester should return
empty results or skip candidate generation if a field in not in
the index rather than failing hard with an illegal argument exception.
Some shards might not have a value in a certain field.

Closes #3469
Removed static versions of MatchAllDocsQuery

If a static cached version of MatchAllDocsQuery is used through for
instanst the `query_string` together with a boost like `*:*^2.0` the
globally used version is modified since queries are not immutable and it's
boost variable can change at any time. Holding on to queries that are modifiable
is risky and should not be done in a global scope.
This commit also adds tests for constant scores from `constant_score` query.

Closes #3521
Better exception handling in actions when forking to a thread pool
An execution on a thread pool might be rejected due to its settings, have better handling in those cases across the actions we have.
closes #3524
Added a debug log when sending an mapping updated request to master
reduce max replica in test to stabelize with low number of available nodes
Fix small javadoc typos for IndexShardRoutingTable
Added support for random_score function:

 * can be used to return matching results in random order

 Closes #1170
fixed RandomScoreFunctionTests
Fix RandomScoreFunctionTests to be more reproducible.
Changed the default of SourceFieldMapper's includes & excludes to be null, to support a "not specified" state, which is important now that they are update-able & merge-able
Thread Pool: Remove blocking type option
The blocking thread pool type is not recommended to be used, since it will end up blocking the IO thread most times when executing, which is not recommended (other operations will then stall as well).
closes #3531
Expose size statistics for completion suggest

In order to determine how many RAM the completion suggest structures will eat up, this data should be exposed.

Closes #3522