Allow native scripts to set the value of a script field to primitive arrays

Script fields could not be set to int[] and float[] by native
scripts because StreamInput and StreamOutput could not handle
them.

closes #4175
Re-enable snapshot/restore tests that were failing on windows
Update BloomFilter

Allow the user to configure the number of hash functions as well as add
support for serializing/deserializing the bloom filter from a stream.
Add a hashCode to the bloom filter.
Don't take static memory of test base classes into account when checking for static leftovers.
Added catch EsRejectedExecutionException when trying to reschedule river start
Added test for Update API via native scripts

Motivation was to have a test ready as well as something other people could have a look at.
Size docIdsToLoad appropriately in SearchService

Closes #4156
Added test for PR #4157 (deep pagination in a small index)
Handle pretty=false and missing line feed for pretty=true which is the default for main REST action
Squashed old stuff :D
CircuitBreaker as part of builder, transition circuit breaker to per-node service
remove unused breaker
refactor old code, remove unused stuff
remove InternalEstimateFacet
misc cleanup
Still has kinks, but working service
change CircuitBreaker into interface
a bit of refactoring just moving around
Use real values for used when refreshing
documentation, refactoring and licenses