Parse submodule declaration syntax
Add (as-yet-nonfunctional) submodule declarations for everything
Stow the submodule information somewhere useful
svn_revision.cpp: just formatting: unstack/flatten logging so control flow may be visualizable
Excise #if 0'd code
Further stowage of submodule information in useful places
Repair inaccurate comment
repository.cpp: just formatting: unstack/flatten logging so control flow may be visualizable
ruleset.cpp/.hpp: Remember which branch rules are (potentially) shared among repositories

Only branch rules from abstract repositories can be shared.  We are
going to use this as a heuristic to name branches in the super-module
repository.  A branch that is definitely not shared will be prefixed
with its repository name, to avoid colliding with other
similarly-named branches there.  So if there are two submodules "foo"
and "bar", each of which has a non-shared "development" branch, the
super-module will track the submodule changes in branches called
"foo/development" and "bar/development".

Branches in abstract repositories are assumed to be shared and
conflict-free.

This commit will be reverted, as the assumptions are bogus!
WIP: Reverting "ruleset.cpp/.hpp: Remember which branch rules are (potentially) shared among repositories"

This reverts commit 1b6ac815f2c21d0ec00d017fa8878e945907ff0e.
Make room for the git ref qualifier directly in the AST's branch rules
Actually store the git ref qualifier in the AST's branch rules
Store branch rule AST nodes rather than git ref names in Ruleset::Repository's list of branches
Eliminate unutilized branch rules
Use the git_ref_prefix stored in the BranchRule and eliminate the one previously stored in Rule