Fix decoding of messages with multiple sections
Fix decoding of messages with multiple sections

When decoding a message with payload size greater than 254 bytes, the
entirety of the message will be split among multiple packets. Decoding
the buffer should only be done if enough data has been received. With
multiple packets, the packet delimiter must be included to unstuff the
bytes. If the transmitted bytes do not end with a packet delimiter, the
scan index must be decremented to prevent copying an extra byte.

oliverlee/phobos,oliverlee/phobos,oliverlee/phobos,oliverlee/phobos