Better stack traces

Fixes #12:
- Schema validation errors on function inputs come directly from the fn, not five layers deep in the stack
- s/defn generates named classes like defn
- Line numbers from error! come from the calling file, not from error! itself.