Allow module-level docstrings.

Doc comments that begin immediately at the top of the module (with no
intervening newlines) are treated as module-level docs. We require these
to be followed by a blank line so that there is no ambiguity about whether
the comment applies to the module itself or to the first statement in the
module.

As a consequence, if the first statement in the module *does* have a doc
comment but the module itself doesn't, the programmer must include a
blank line before the doc comment to signal this.