Previous assumption about multiple labeled body blocks and footers is
not correct. There is only one body text block with multi-line support.
A footer always starts with a token with a separator.
- A body ends when a footer is found or text ends.
- A footer ends when another footer is found or text ends.
This provides flexibility of parsing and rendering structured messages
with more detail in the changelog and helps extract metadata from the
message. The new structure can be used to split a message in multiple
blocks (e.g. footer)