Improve iolist handling

Support bytes in iolists. Imitate iolist_to_binary/1 and accept strings,
binaries and lists of binaries, lists and bytes.

Unlike the real iolist_to_binary, this version places an arbitrary limit
of 16 nested lists.