Exception types

There is no standard way to define new exception types from E code.

This could be resolved by providing a way to define exception types, or declaring that any object can be used as an exception. E-on-CL does the former, with a mechanism for subtyping among exceptions (XXX write up as proposal).