Print markdown code with correct backticks
This adds extra backticks and spaces around code fragments when printing
if the fragment contains backticks. This allows `Markdown.parse` to
properly re-parse text correctly, i.e.
Markdown.plain(Markdown.parse("``` `x` ```")) == "``` `x` ```"
rather than
Markdown.plain(Markdown.parse("``` `x` ```")) == "``x``"