BUG-994: Create QNameModule for resource sharing

This splits out the per-module invariants out of QName into a separate
class, QNameModule. This simplifies the QName logic quite a bit and
allows sharing of QNameModule in the future.

As a cleanup we get rid of static imports and improve exception texts.

Change-Id: Ic2651fe12f1982360afcfae0549cdee426de1556
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-994: Create QNameModule for resource sharing"