Ensure Cypher range() works with negative step values

Fixes #2269
Allow Cypher split() with empty separator
Merge branch 'range-fix' into 2.0-maint
Merge remote-tracking branch 'upstream/2.0-maint'

Conflicts:
	community/cypher/cypher-compiler-2.0/src/main/scala/org/neo4j/cypher/internal/compiler/v2_0/commands/expressions/MathFunction.scala
	community/cypher/cypher-compiler-2.0/src/main/scala/org/neo4j/cypher/internal/compiler/v2_0/commands/expressions/StringFunctions.scala
	community/cypher/cypher-compiler-2.0/src/test/scala/org/neo4j/cypher/internal/compiler/v2_0/commands/expressions/SplitFunctionTest.scala
Merge branch 'range-fix-master'