[Ada] Avoid repeated conversions from Int to Char_Code
When expanding aggregates like "(others => 'x')" into strings we
repeated conversion from Int to Char_Code for every character. Now we
convert once and use the Char_Code directly.
Cleanup related to handling characters in GNATprove counterexamples;
semantics is unaffected.
gcc/ada/
* exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
UI_To_CC; replace magic literals with high-level routines that
recognise wide and wide wide characters; reorder if-then-elsif
condition, because we don't have a routine to detect wide wide
characters.