refactor: move split implementation from string to base.

Decouple std.io from std.string (and hence std.table, std.list,
std.functional, std.object, and std.container) by moving
implementation of split into lib/std/base.lua.
* lib/std/string.lua (split): Move from here...
* lib/std/base.lua (base): ...to here, and export.
* lib/std/string.lua: Re-export base.split as string.split.
* lib/std/io.lua: Don't pull all of string.lua and it's
dependencies into memory; use base.split instead of string.split.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>