Add node.atend() and check that top-level parse consumed the entire string.

Also add whitespaces to exp.py/identities for readability.
Make lex.token a sub-class of parse.node and eliminate tokennode.
trex: fix matching on node type.

node.name() is wrong, because token overrides it.