Fix #1171: Split: Sometimes remove leading empty match

The conditions were determined experimentally since the JavaDoc is
note precise enough.
Oh really? I'm on
```
Welcome to Scala version 2.11.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_25).
```

I'll try with Java 7 too....
...done, guess what?
```
Welcome to Scala version 2.11.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67).
Type in expressions to have them evaluated.
Type :help for more information.

scala> "abc".split("(?=a)|(?=b)")
res0: Array[String] = Array("", a, bc)
```

Hmm.... :weary: