Assign translatable names to WC/Soulless variations (bug #22902)

Backported from master, commit bf75c9d062e0c19b0a4fdc20c43e6b3958591522.

As I said on IRC, whether unit type variations use variation_id or
variation_name to define the variation id is wholly immaterial for
syncing purposes because serialized singular units:

 1) Do not include [variation] definitions nowadays;
 2) Have a single variation=<id> attribute, where the source for the id
    of variations is determined internally during initialization.

One situation that could result in collateral OOS errors is
[store_unit_type]/wesnoth.unit_types retrieving different information
for 1.12.0 and 1.12.1 game clients running the same WML/Lua script. I
suspect this should be relatively rare and it's possible to guard
against synchronization issues by checking for both variation_id and
variation_name for WC/Soulless variations and picking one accordingly.