Fix compile time type-mismatch in the expansion of (setf schar)
It expands into an etypecase for character and base-char strings, and
when the value is known to be an extended-char it would produce a
compile-time warning.
Introduce a new special form, (the* (type &key context
silent-conflict) value), when ir1-optimize encounters a cast with
silent-conflict t and there's a type conflict it will convert it to an
internal error instead of %compile-time-type-error.
The new special form is needed because
(if (base-char-p x) (setf aref) (type-error))
doesn't take SAFETY into account. And it actually replaces
THE-CONTEXT.
Fixes lp#
1668619