To stay consistent with both `String.split/2` and `:binary.split` we need to keep around empty strings that are accumulated while splitting. In the future we could support the `:trim` option to consistently remove these in call calls to `String.split`. Fixes #1636