Add alternative enum assigned name mapping
This patch corrects enumeration mapping rules so that any unicode
string can be mapped to a valid Java identifier as per JLS8.
This is done by attempting to apply className() mapping to all names
and using that if it results in valid non-conflicting identifiers.
If a conflict is detected, we use a bijective mapping, which encodes
any conflicting characters using an $-based escaping scheme.
JIRA: MDSAL-309
Change-Id: Ic51405e533eff9af6afc2abaa8d0cc193d718e64
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
53433dfe15da970a6af8362ad21911a82943de7d)