Added the ability of parsimonious to parse lists of tokens.

A token is an instance with a member called "type".

To match a token of a given type, use the syntax %TOKEN_TYPE% in your
grammar.

Example usage:

grammar = Grammar("""foo = %TOKEN1% %TOKEN2%""")
assert(grammar.parse([Token("TOKEN1"), Token("TOKEN2")]) is not None)