Fontify buffer before string tests
Better documentation and tests for italic and bold regexps

Also fixes some edge cases regarding escaping, spaces, etc.
Bold, italic, link, and image insertion using region or word at point

These commands now use either the region, if there is an active region,
the current word, if the point is at a word, or else insert empty markup.

Cursor positioning is determined according to what should be entered
next.

Bold and italic insertion commands can be used to remove bold and
italic markup when the point is at either a bold or italic phrase.
Cursor position is maintained after the removal.

To support these changes, markdown-wrap-or-insert was rewritten to
accept a thing argument.  In the cases above, thing is 'word.
This function returns the bounds of the region or thing wrapped,
if any, or else it returns nil.
Remove unnecessary save-excursion
Return bounds of entire wrapped string in markdown-wrap-or-insert
Fix ATX header insertion, wrap line by default

Wrap the line by default when inserting ATX headers,
if no region is given.

Fix problems with inserting ATX headings at end of buffer,
and in properly ensuring the lines before and after are blank.
Suppress blank lines at beginning and end of buffer

Update markdown-ensure-blank-line-before and
markdown-ensure-blank-line-after.
Includes unit tests.
ATX header insertion tests