COMMONS-310: Provide method to escape illegal XML names

Problem description:
* In XPath queries, every path step must be a valid XML name (ISO9075).
  It doesn't allow names starting with digits. Some characters such as @ in email address are also invalid.

Fix description:
* Escape illegal XML names by following ISO9075 encoding.
Merge commit '5d6a3822fe033cb4abbfeed7e072576539697e5a' into HEAD