Emit warnings for underscored variables appearing twice in a pattern, closes #2480
Use a native splitting on String.split/1 instead of relying on regexes

The new implementation is 20x faster for small strings and about
100x times faster for large ones.