Do the right thing at the end of table rows.
Fix a corner case in italics regex.

This fix makes it possible to have bulleted lists of italic text,
followed by regular explanatory text, e.g.,

* _Reduce Support Costs_:  This fix will make things easier ...
Italic phrases can now (finally?) end with a period.

Thought this was fixed with the last commit, but it wasn't.  Turns
out I needed to remove the forward-slash period from the regex.
Don't wrap content inside code blocks with P tags.

Prior to this commit, we were erroneously wrapping *any* newline-separated
text in paragraph tags.  This was causing problems inside code
blocks with specific formatting requirements.  This patch should
prevent this from happening again, as the paragraph tags aren't
applied if we are inside a code block.
Make table output slightly nicer.

Now the TABLE tags print nicely on their own lines before and after
the table content.  I've also added a test to make sure the output
is valid.
Italic words need at least one space before them.
Update italics regex, again.

This time, our regex was cutting off whitespace before the italicized
word or phrase, as well as ignoring punctuation characters after it,
such as `:`.

This change ensures that (1) there is whitespace before the first
italicized word, and (2) we ignore all of the post-italic matching we
were trying to do.  I'm not even sure how that patch seemed like a good
idea, but it's just about time to drop everything and create a real test
suite in preparation for a big refactoring.
Update the paragraph regex to allow `$`.

This was one of the last remaining characters that wasn't allowed inside
paragraphs.  Remedied.  Again: stop hacking on stuff and work up a test
suite!