recurse arrays for intersection instead

removed:

* arrayIntersectsArray()
* arrayIntersectsMultiArray()
* arrayIntersectsMultiMultiArray()
* multiArrayIntersectsMultiArray()
* multiArrayIntersectsMultiMultiArray()
* multiMultiArrayIntersectsMultiMultiArray()

added:

* arraysIntersectArrays() [recursive]
* isNumber()

renamed:

* vertexIntersectsVertex() -> edgeIntersectsEdge()