Error correction. Playing with the markdown syntax.
Correcting the markdown grammar, and simplifying it.

I used operators to get a parse tree more easily readable.
Playing around with the markdown parser generated from pegged/examples/markdown.d
Adding Pandoc extensions for the Markdown syntax.
Changing the way markdown.d deals with HTML blocks.
Playing with the markdown parser.
Adding hooked rules for grammars.
Dealing with parameterized rules for hooking.
Testing parameterized rules. -unittest pass.
Merge branch 'hooked-rules'

This branch transforms any rule in a grammar into a 'hooked' rule with two hooks: beforeXXX and afterXXX,
XXX being the rule names.

Thus

```
Test:
    A <- 'a'
    B <- 'b'
```

will have static members Test.beforeA, Test.afterA, Test.beforeB, Test.afterB.

These hooks will be call before and after their parent rule. They default to 'fail' and thus by default
do not affect the parse results. They can be dynamically linked to another parser:

```
Test.beforeA = &literal!"b";
Test.afterA = &literal!"c";
```

makes Test.A behaves as if its definition was

```
Test:
    A <- 'b' 'a' 'c'
    B <- 'b'
```

The hooks are mainly interesting to extend a big grammar dynamically.

If you need to 'kill' a freshly assigned hook, just assign `&fail` to it: it will be skipped while parsing.
TODO update. Hooked rules were added.
Correcting the D grammar (ElseStatement, DoublequotedString).
Adding a MacroDeclaration to the D grammar.
Adding the gigantic DRule rule.
Correcting DRule.
Storing the list of D rule names.
Re-making the parser.
Remaking script, to regenerate the parser.
Adding the new alias oldSym = newSym declaration and alias this = newSymb declaration.
Regenerating the parser anew, with the new alias declarations in the D grammar.