Enum.{map_,}intersperse, change to join{_map,}

Add an intersperse function and make join work with it (and with
iolist_to_binary). In theory that should be a minor performance improvement.