Compiler: Improved RUNTIME_CHECK_TYPES mode.

Avoid generating new compiler errors when running with -rt.
Compiler: Improved diagnostics for invalid soft casts.
Runtime: Improved diagnostics in -rt mode.

Also adds the string_builder_explain_*() functions, that
mirror the corresponding yyexplain_*() functions.
Runtime: Fixed bug in validating soft casts.
Runtime: Cleanup of low_check_soft_cast().