BUG-1902: reuse ConcreteTypeImpl instances

Instantiate a cache which will act as a lookup for commonly-shared
instances. Also creates shared instances for byte[] and char[] primitive
types and reuses them as much as possible.

Change-Id: Ia70f0e9022c3b19e0f9b0eff34e0cf69958e25f0
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-1902: reuse ConcreteTypeImpl instances"