gh-19: implementing marks and their substitution.

As promised, very rough.

2Fix:
Still something is broken with parsing. See test 21

2Do:
* own storage should be used instead of references
* remove the rebase2 namespace at completion or abort
gh-19: fix parsing
gh-19: add mark command to parsing test also
gh-19: implement `reset` command
gh-19: run in proper place
gh-19: fix parser to allow branches
gh-19: add test for parsin branches
gh-19: functional test for inner merge. Failing yet
gh-19: fix test (forgot one pick)
IMPL: implementing new find_sequence(), which could support inner merges
IMPL: some planning
IMPL: find_sequence() looks like done
IMPL: return
FIXUP: syntax fixes
FIXUP: fixing
FIXUP: fixing
DEBUG: debug
Revert "DEBUG: debug"

This reverts commit 01fa29da1ae9b4ed6822cec7d19421c15306ba7c.
TEST: add test for linear case
FIXUP: fix return