Factor out ruleset parsing

Managing subprocesses sucks.  Instead of launching
git-fast-export/-import subprocesses for the submodule reference
rewrite, we're going to do the whole thing with a separate executable
that filters the -export stream
Stop fixing up submodule refs in svn2git

As mentioned in the previous commit, we're moving that code to a separate filter program
Add missing #include
Factor out marks file name computation
Add const version of mark/sha lookup
Move submodule ref fixup logic to a separate executable