Improve inline code matching in edge cases

Because the Emacs regular expression does not support negative lookahead
or negative lookbehind, the regular expression for code must include
a character before (to ensure that the backquote is not escaped) and
a character behind (to ensure that another backquote does not follow).
The latter condition is because Markdown allows one to use multiple
backquotes to escape backquotes inside the code fragment.  This means
that font-lock engine in Emacs will mark the leading and trailing
characters as being fontified, preventing them from counting towards
a previous or subsequent inline code fragment.  So, with the old regular
expression, there must be at least two characters between inline code
fragments.  So, `a` `b` `c` would not match properly.

The solution here is to use a matching function which can reposition
the point, so that we move one character back from the start position
and leave the point one character before the last matched by the regular
expression.

Includes test cases.
Document usefulness of *-region insertion functions after yanking text
Use adaptive filling for list items and blockquotes

Add an adaptive filling function, `markdown-adaptive-fill-function',
and a custom `adaptive-fill-first-line-regexp' in order to
accomplishes the following:

* Treat all list items the same way with respect to filling.  The
  plus sign is not in the default `adaptive-fill-regexp', so these
  lists were not being filled with hanging indentation.

* Retain the ">" prefix when filling blockquotes.

* Also fill list items inside blockquotes.

According to the docstring, `paragraph-start' should not
anchor with ^ to allow for a nonzero left margin.

Includes unit tests.
Use make-string to simplify header insertion function
Fix escaping in markdown-xhtml-standalone-regexp

Includes unit tests.
Protect markdown-block-region from getting stuck at end of buffer
Ensure that visibility cycling test works graphically and in batch mode

Manually set `this-command' and `last-command'.  Previously, this test
would succeed in batch mode but fail in graphical mode.j
Protect kill-ring in let blocks during testing

Avoids polluting kill ring with test strings.