Better half-markdown.
This fixes some issues with the current semi-markdown-parser to make life easier until a full markdown parser is implemented.
Changes:
- A * that would normally start italics but isn't matched by a closing *, is now left alone.
- A ` that would normally start a code block but isn't matched by a closing `, is now left alone.
- Backslashes should work as expected.
- Support for **bold** and the alternative _italic_ style.
The address in the config can contain subpaths and it doesn't make sense
for a socket to connect to this address. The net location without the
subpath is now contained in server.address.
Strikethrough has to be done first, before handling any other attribute,
because otherwise it doesn't render correctly.
The following changes were made:
1. When striking due to redaction, we simply strip all the other
attributes and then do the strikethrough, because this is the only
practical option.
2. When rendering rich text received from the server, we ensure we
handle strikethrough first, before any other attribute.