HTML versions of the stock templates
Factor out our HTML to text conversion routine

Switches to HTML::FormatText::WithLinks::AndTables for better formatting
of links and tables.
Add a script and a note for switching to HTML templates when upgrading
Add a switch_templates_ok method to switch and test the exit code
Add basic structure and content tests for outgoing HTML mail
Switch the default scrip templates to HTML for new installs

This also switches the default for testing.  As an escape hatch,
RT::Test now sports a text_templates flag.

Tests which failed non-obviously with HTML templates enabled were copied
to a t/mail/*-plaintext.t filenames and flipped back to testing
plaintext.  The original files were fixed to expect the New World Order
of HTML.  This way both the new HTML templates and the old plaintext
templates are tested.
Avoid hardcoding a full list of default global templates in tests
Stop stripping X-RT-Original-Encoding in GnuPG tests

The function in question is used to take an _outgoing_ message RT sent,
turn it around, clean it up, and reinject it back _into_ RT: the
outgoing GnuPG support is tested with the incoming GnuPG support.

The commit which introduced this code (3a83c99) is huge and offers no
reasoning for stripping the various headers.  It's apparent that some of
the headers need to be stripped from the top-level MIME part so that RT
lets the mail enter RT again without detecting it as a loop.  The regex
approach, however, also removes the listed headers from subparts.  In
particular, X-RT-Original-Encoding is unlike the other headers since
almost all subparts will have it set.  The other headers should only
appear at the top-level.

Modifying the subparts causes decryption/signature verification to fail
since the content no longer matches what was encrypted/signed.  This bug
in the testing infrastructure wasn't noticed with RT's standard plain
text templates since they only have a single textual part.  With the
switch to HTML templates, tests started failing verification.  This
commit makes them pass again.
Convert HTML article content to plain text using the standard function

Consistent handling of HTML conversion makes it easier to fix bugs in
one place.  The now-standard function also produces better results than
the plain HTML::FormatText solution.

I removed the HTML::FormatText and HTML::TreeBuilder dependencies
because they are no longer explicitly used.  They are still implicit
dependencies via the other HTML::FormatText::* modules.
Don't use bold/italic emphasis markers in the HTML → text conversion

Quotes are not quite right and may litter the text with seemingly random
quoted phrases.  The standard asterisks/underscores tend to look ugly
and are much more distracting than the equivalent bold/italic text is in
HTML.  Readability is improved by removing emphasis markers entirely.
Move upgrade into next unused version
Merge branch '4.2/html-templates'

Conflicts:
	docs/UPGRADING-4.2
	etc/initialdata