Stop treating zero-length IO vectors as an "out of memory" condition

There's no particular reason that the message-passing infrastructure
should refuse to send a message that contains zero parts. That's
no different than a traditional non-vectored message with zero length,
which we already allow.