Return empty completion stats if engine throws an exception

If the index shard is not started yet the underlying engine can
throw an exception since not everything is initialized. This can
happen if a shard is just about starting up or recovering / initalizing
and stats are requested.

Closes #3619
[DOCS] Function score was added in 0.90.4 not 1.00.Beta
[DOCS] Changed the deprecation of custom_boost/score/filters_score
queries to 0.90.4
Removed port range option from discovery.zen.ping.unicast.hosts example.
Minor cleanup to logging messages.
TransportSearchTypeAction logs used shards under TRACE level
Make the acceptable compression overhead used by MultiOrdinals configurable and default to PackedInts.FASTEST (causing it to byte align).

Closes #3623

Before this commit , this was the output of TermsFacetSearchBenchmark, on my MacBookAir:

```
------------------ SUMMARY -------------------------------
                     name      took    millis
                  terms_s      7.3s        36
              terms_map_s     28.8s       144
                  terms_l     15.9s        79
              terms_map_l     15.5s        77
                 terms_sm        1m       319
             terms_map_sm      4.9m      1491
                 terms_lm      2.7m       825
             terms_map_lm      2.7m       829
          terms_stats_s_l     37.6s       188
         terms_stats_s_lm      2.4m       722
         terms_stats_sm_l      6.5m      1958
------------------ SUMMARY -------------------------------
```

After the change to FASTEST, we have:

```
------------------ SUMMARY -------------------------------
                     name      took    millis
                  terms_s      6.9s        34
              terms_map_s     28.8s       144
                  terms_l     17.4s        87
              terms_map_l     17.6s        88
                 terms_sm       42s       210
             terms_map_sm      4.2m      1287
                 terms_lm      2.3m       714
             terms_map_lm      2.3m       716
          terms_stats_s_l     37.5s       187
         terms_stats_s_lm      1.6m       482
         terms_stats_sm_l      6.1m      1852
------------------ SUMMARY -------------------------------
```
Added tests for count api

testDateRangeInQueryString awaits fix (#3625)
ignore rejected exception when shutting down in cluster service
Revert "Add FastVectorHighlighter support for more complex queries."

This reverts commit e943cc81a5cd02e6ef641ad0662f34bda176fb5b.

The more complex queries support causes StackOverflowErrors that
can influence the cluster performance and stability dramatically.
This commit backs out this change to reduce the risk for deep
stacks.

Reverts #3357
Use lucene test framework if low level lucene parts are involved in tests.

Test should never write outside of the test directories.
improve setting response/failure on nodes actions
we can use the index in the node ids list as the index for the array when we set the response or the exception, removing the need for an index AtomicInteger
change to trace level logging
On Solaris, default LZF compress type (for transport) can cause segfault
closes #3634
Add ClusterInfoService, DiskUsage and DiskThresholdDecider

Change AllocationDecider API to take ClusterInfoService, update all
other deciders
Create ClusterInfoService.EMPTY
throw an IllegalStateException rather than use an assertion
Better validation of watermarks
add tests for absolute space threshold