bnf.py: reworked SOMEOF and fixed logging code
renamed:    bnf.py -> peg.py, expr.py -> pratt.py
cumulative commit before I disassemble my laptop