Cleaned up some cases where resolver errors produced distracting
backtraces during compilation: Use low_cast_to_(object|program) in
dirnode instead of the variants that throw errors. Added
compile_cb_error and compile_cb_rethrow to be able to throw errors
that are converted to plain compiler error messages.
Fixed describe_backtrace and describe_error to use more convenient
ways for getting the messages and backtraces out if error objects, so
that the ugly overloading of ` isn't necessary.
Added get_backtrace to get the backtrace out of an error array/object,
just like describe_error gets the error message.
Cleaned up calls to compile_warning.
Fixed error propagation from decode_charset.
Shortened accesses to _static_modules.Builtin and