different way of handling exceptions

* exceptions passed around on the erlang format:
  { kind, reason, stacktrace }
* still only working for catch AND rescue together
* well, not exactly working yet.