Add the ability to do a non-blocking send with multi-part messages

I added a new variant constructor to snd_option rather than changing ?opt
to take a list in order to avoid breaking existing code.