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.
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
Adding a new Cypher introduction.