Large documentation update
Enable transient-mark-mode for active region tests

In a few cases, this was being enabled only by chance, due to the order
of tests.  Explicitly enable it when needed.
Whitespace for GFM code block

Ensure blank lines before and after.

Includes unit tests.
New keybinding for GFM code block insertion
GFM code block font lock test
Rename two functions for consistency
Use singular -hook instead of plural -hooks