Improve module documentation.

Also include links to relevant blog articles.
Change the order of subcommands.

Change the order that subcommands are passed to argparse to put the
most commonly-needed commands near the top of the help text.  Explain
some commands in terms of others (e.g., "start" == "init" +
"continue").
Improve "diagram" output.

Add options --commits and --frontier to decide which diagram to show.

Add keys.

Make character use consistent across diagrams.
Do not require a clean work tree for "list" or "diagram".
Emit informational messages for autofills, too.
Fix how require_clean_work_tree() deals with an unmerged file.
Make MergeState.get_scratch_refname() static.
Teach "remove" how to abort a merge conflict.
Use notation %d-%d to refer to merges.