git grammar

First off, I don't expect this to be fit for master as is or if it belongs in the aenea-grammars repo at all.  It definitely needs a little bit of work prior to merging but I would like to get some feedback what could be done differently.

My thoughts are:
1. Use a better method of traversing the parse tree when building command strings.
2. Use Rule.value() correctly?
3. Use a grammar configuration file.
4. Add missing commands (e.g. merge)
5. Add a readme with examples on how to use the grammar.

If you want to load it up and try a few:
* "git status" -> "git status"
* "git add all" -> "git add --all"
* "git log pretty one line" -> "git log --pretty=oneline "
* "git commit message" -> 'git commit --message="'

Suggestions welcome.