make `scribble' (and `raco scribble') use a `doc' submodule when present
fix `module' non-simplification of syntax during expansion

This change affects the time required to `expand' a module.
add `configure-runtime' submodule support

A language can now introduce a `configure-runtime' submodule that
is `dynamic-require'd before the enclosing module.

This new submodule protocol provides a more general and
easier-to-understand way of configuring the run-time environment for
a module's language, as compared to the `module->language-info'
path (through a `get-info' function, via a 'configure-runtime value,
and finally loading the specified module).

The `module->language-info' path remains in place, and it is
checked after a `configure-runtime' submodule is run, since
that order is likely to be the most backward compatible.
switch `rascket/base' and `scheme/base' to submodule language style

The `#%module-begin' of `racket/base' and `scheme/base' now introduces
a suitable `configure-runtime' submodule, instead of using the
`module->language-info' path.

A submodule is a lot easier to work with, as illustrated by the
removal of the `racket/private/lang' and `scheme/private/lang'
languages.

Also, add `#%printing-module-begin', which is the old `#%module-begin'
(i.e., the one that doesn't introduce a `configure-runtime' submodule).
scribble: fix binding search for phase 1 through initial import

Changing the implementation of `racket' in terms of `racket/base'
exposed this bug.
bump version