Fix #1171: Split: Sometimes remove leading empty match

The conditions were determined experimentally since the JavaDoc is
note precise enough.
This doesn't match JVM:
```
scala> "abc".split("(?=a)|(?=b)")
res0: Array[String] = Array(a, bc)

scala> "(?=a)|(?=b)".r.pattern split "abc"
res1: Array[String] = Array(a, bc)
```