Only use LLVM's resume at the end of a function
Add checked exceptions!

The type of exception checking used for plinth is weaker than most
systems. It can be cast away from function typed values, and is erased
completely at runtime.

An exception be declared on a method in two ways: normally as checked,
or as unchecked by using the "unchecked" modifier.
If a method throws an exception as unchecked, it does not have to be
caught or declared as rethrown by anything calling that method.