Sets a threshold in ArrayCollection where array is recreated if surpassed

this to avoid big arrays with all its references still set. This is an
artofact of the very purpose of ArrayCollection, that clear() should be
as performant as possible.
Integer and Float are not coercible to Boolean
Merge pull request #3662 from davidegrohmann/2.0-number-not-coercible-to-boolean

Integer and Float are not coercible to Boolean
Fixes shutdown issue with TaskExecutor

where a shutdown caused by task failure might not be able to complete.
Merge '2.0-maint' into 2.1-maint

Conflicts:
	community/cypher/cypher-compiler-2.0/src/test/scala/org/neo4j/cypher/internal/compiler/v2_0/symbols/TypeSpecTest.scala
	community/cypher/cypher-compiler-2.1/src/test/scala/org/neo4j/cypher/internal/compiler/v2_1/ast/AndTest.scala
	community/cypher/cypher-compiler-2.1/src/test/scala/org/neo4j/cypher/internal/compiler/v2_1/ast/OrTest.scala
	community/cypher/cypher-compiler-2.1/src/test/scala/org/neo4j/cypher/internal/compiler/v2_1/ast/XorTest.scala
Merge '2.1-maint'
Fix broken test
Merge pull request #3655 from tinwelint/2.2-avoid-big-reference-array-arr-coll

Sets a threshold in ArrayCollection where array is recreated if surpassed
Merge pull request #3667 from tinwelint/2.2-bip-task-error-fix

Fixes shutdown issue with TaskExecutor
newline in the end of multi-line InputEntity toString
Better package for import-tool ComponentVersion

The ComponentVersion class for the import-tool was shadowing the one for kernel.