[SPARK-2860][SQL] Fix coercion of CASE WHEN.

Perhaps "Value types in CASE WHEN must be the same, or can be coerced to a tightest upper bound." to be more precise about the semantics, in case users run into this.