BUG-1902: reuse ConcreteTypeImpl instances

Creates shared instances for byte[], char[], Serializable and QName
and reuses them as much as possible. Unfortuntely this Helium-specific
patch does not have an explicit cache due to maven interactions, which
prevent us from useing Guava cache classes.

Change-Id: I6d9b57418e4a7dbbe4878f9f9fd1ed57ddb4362d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-1902: reuse ConcreteTypeImpl instances" into stable/helium