Fixed memory leak when parsing Blockquotes

An expression like (b:"> " a:etc "\n")+ is used to parse blockquotes.
This implicitely overwrites a and b - unless we provide an action to make
something of a and b. a was stacked in a list, whereas b was overwritten.

In effect, the leak appears as we loose all BlockQuoteMarker nodes ('b') but
the last.

This patch accumulates the BlockQuoteMarkers in a list, only keeps the first
and delete all others.
A cleaner implementation would avoid the creation of BlockQuoteMarkers nodes
entirely, but would arguably be less readable.

Note I found this error using Valgrind - now all test pass without leaks according to Valgrind.