refactor . metadecorator

refactor Op's into own file

a metadecorator to decorate decorators,
preserving the decorated's name and docstring.
bugfix: dont reparse tokens
nouns, verbs, nodes, edges

* nouns/verbs are syntactic
* nodes/edges are semantic

* nouns : [str]
* verbs : [(Op, [str])]
* nodes = nouns
* edge : (str, *str)

later, edges might not be one-to-one with the
relations in `semantics.yaml`.

later, multiple nodes might be had from one noun,
when that noun is a noun phrase.

print `Parsed` more prettily

`graph.py`
refactor Graph and Head here

`words.py`
later, parsing will use the tokens from `tokens.tokenize`
GPL V2 license
keep empty operands

"[context]" => "" "[" "context" "]" ""
Op => Nulop / Unop / Binop / Ternop / Narop

the Op superclass takes a config string as constructor,
and gives an object subclassing Op.

repr(Op()) looks like the constructor.
str(Op()) looks like config string.