Fix #28: sendMulti fails when sending an empty list.

Attempting to send an empty list of ByteStrings is now treated as a
NOP.
Return a 'Control.Concurrent.Async' from async.

This allows better wait/termination handling.