lex.py: Support the pipe tag
lex.py: Fix error message of invalid tag
lex.py: require() and expect() of AbstractLexer now returns accepted rune.

Lexer.qualifier makes use of it.
lex.py: The pipe tag accepts no qualifier
lex.py: Accept : in attribute keys
lex.py: Add comments to the tag state