Modification to allow for empty message bodies.

If we receive a message with no body (and no body_target length), we
should accept the fact and return an empty body rather than throwing
an exception about the frame.

This is a fix (hopefully) for both #30 and #48.

And I waffled on handling the final case, of receiving a payload with a declared zero length and a non-zero length body , but I don't think the logic further up will ever do that, so left it out of the patch for simplicity.