exc: use exception name instead of exception self

and add exc_recorder
hub: rename tmp to tpl
hub: simplify
inst: add a new decorator "pre"

for check type and value, see pong.py