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