Parser instances now have a reference their lexer instance (self.lexer)
Parser debugging output now works correctly
Added support for automatic list AST nodes

For example, suppose you had the following production rules:

    @attach('methods : methods method')
    @attach('methods : method')
    def do_something(parser, *children):
        pass

This can be reduced to:

    @attach_list('methods', 'method')
    def do_something(parser, *children):
        pass

Furthermore, if you have an AST node class that subclasses ListNode:

    class Methods(ListNode):
        pass

    @attach_list('methods', 'method')
    def make_methods(parser, *children):
        return auto_collect(Methods, children)

A Methods node will automatically created and any 'method' non-terminals
will be added it to. They can be accessible via self.children.