Added support for multi-module packages.

I was trying to avoid this, but forcing a separate DVCS repo on every package
is becoming increasingly cumbersome. I don't want to have to split Codex out
into half a score of separate repositories just so that I can have a proper
Scaled source dependency on it.

I'm still hewing to "enforced convention" over configuration. So a package is
now either a single-module package which defines its opts and depends in
package.scaled and contains a single module "<default>", or it has one or more
submodules, defined in name/module.scaled files (and no top-level module), and
enumerated via: 'module: name' entries in package.scaled.

Source depends are now either on the <default> module (and look exactly like
they used to), or they have #module tacked onto the URL. Neat and tidy.
Comments start at col 0 or must be preceded by a space.

My URI fragment scheme conflicts with the use of # for comments. Neat and tidy
indeed.
Was missing a space.
Fix packageSource(); better factoring.
Tell a module its name.