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)