Clarify which must_be we're calling

The code should work either way, but I want to make it clear that
mavis doesn't define its own must_be/2 predicate.  It's just calling
the one in error module.
Require SWI Prolog V6.3.16 or higher

This version changed the internal predicate structured_comment so we
can't be backwards compatible with older versions anymore.  This is one
more reason it'd be nice to have an externally facing API for parsing
structured PlDoc comments.
Modernize pack layout

SWI Prolog's pack infrastructure now supports README.md  That file name
is compatible with GitHub, which makes both sites look nice at the same
time.
Config file for development
Avoid singleton warnings

Recent versions of SWI-Prolog have "semantic singleton" detection.  It
noticed that Slash was a singleton with respect to each possible flow of
control. I don't want to remove Slash because it seems likely that we'll
use it sometime in the future.  It also serves to remind me of the
structure of the mode term.
Improve documentation mode line handling

normalize_mode/3 and normalize_args/2 had no tests.  There were a few
places where they gave wrong answers.