Font lock for hard line breaks

Includes unit tests.
Respect hard line breaks when filling paragraphs

A downside of this patch is that paragraph movement commands will also
stop at hard line breaks, thus slightly changing the definition of
"paragraph" in this mode.

Includes a unit test.
Improved reference link insertion with label completion

Now uses word at point as link text, if possible, when there is no
active region.  Uses `completing-read' to read reference labels, which
are listed by the new function `markdown-get-defined-references'.

Reference link insertion is smarter now.  It does not prompt for
a URL or title if the label is already defined.  If no URL is given,
create an empty reference definition, but do not prompt for a title.

Includes unit tests for reference link insertion and reference
label listing.

Thanks to Chris Lott for suggesting label completion.
Font lock for titles in inline links

More specific regular expression which distinguishes inline link titles.

Includes unit tests.
Handle an edge case involving footnote markers and inline links

This patch fixes font lock in cases where a footnote marker precedes
an inline link: Harvard[^1] [tuition][].  The current solution is to
disallow carats as the first character of inline link text.  This is
not ideal, but this is probably more rare than links after footnotes.

Includes a unit test.
Fix inline reference link group numbers, clarify naming

Jumping to (or creating) reference definitions from implicit links was
broken.

Rewrite variable names to reflect Markdown syntax page terminology,
where a "label" is the reference identifier, not the link text.

Includes unit tests.
Improved list item insertion

Return marker string with `markdown-cur-list-item-bounds' and
update tests.

Handle list item insertion when point precedes a list or
follows a list and when point is between left margin and
list marker.

Includes unit tests.
Improved bold, italic, and code insertion tests

Check point position and check region functions.

Remove leftover debug message.
Improved inline and reference link tests

Check empty markup insertion, word at point, and region functionality.
Verify point position after insertion.