fix NPE while handling shard failures of a distributed collect
Add sql query circuit breaker.

This adds a sql query circuit breaker which tries to estimate the amount of memory needed by a certain operation of a query to prevent a OutOfMemory exception.
It raises a CircuitBreakingException if the limit exceeded.
The default limit is 60% of the available HEAP.

The limit can be configured using the ``crate.breaker.query.limit`` and related ``crate.breaker.query.overhead`` settings.
unflake graceful stop integration tests

by using a more reliable method of getting the public ip, and not one that is
e.g. a virtual interface for virtualization purposes
update es upstream to use a named threadfactory for AbstractDeallocator
Merge pull request #1405 from crate/m/grrrrrrraceful

M/grrrrrrraceful
checkout es/upstream feature branch
added ArrayMapper for handling array fields
add custom array type to ES type parsers
Inject ArrayMapper, so es uses it to handle dynamic arrays.
updated array mapping for create / alter table
prevent nested arrays from being defined in the mapping or inserted (even via copy from)
update es upstream to rebased state
correctly handle null values and nested objects

* support parsing null values
* reset path in ParseContext after traversing into ObjectMapper during parsing of document source
Merge pull request #1410 from crate/m/array_mapper_null_object

correctly handle null values and nested objects
removed writing of collection_type to meta info because
array handling changed
recognize new array mapping when parsing IndexMetaData

break support for writing collection_type into _meta