Supporting sort modes `avg` and `sum` when sorting inside nested objects.
Previously this commit either sort modes `min` or `max` (depending on sort order) was used when sort modes `avg` and `sum` were picked.

Closes #2701
ensure that suggestion only added on reduce if they are present in the shard response
Throw IAE if indices is null or contains a null value.

Closes #2656
Throw correct ClassNotFoundException to debug classloader issues
more strict check before trying to parse and detect a string as a date
fixes #2694
Analyze API returns in YAML format if analyzed string begins with ---
fixes #2624
Correct order of routing and parent params for Get

The order in which routing and parent parameters are set is important.  The
routing parameter must be set first or it will overwrite the parent routing
value.
Query DSL: Filtered query to make query optional (defaults to mach_all)
closes #2718
lazy set the indices on the search request now that its validated
spin a bit to wait for condition in test, so slow machines will still run it correctly
add proper testing for bool filter
Make BoolFilterBuilder output proper json
add ability for cluster health to wait for current events to be processed
help with tests that run on slow machines
proper reason for cluster state task
fix local flag in cluster health
Allowed adding of headers to RestResponse class. Closes #2540