Add HTMLText::EscapeXML() so that shortcode output is also escaped.

My blog's RSS feed had raw HTML tags in the description that were generated by shortcodes. This commit processes shortcodes before escaping.

NOTE: This also requires pull request #1797 in order to get the blog RSS feed bahaving properly.