move abbreviation functions to Type.Abbreviation
implement PrimitiveTypes and CPPType as parameterized. check with test1.hs
top level function cpp code generation modified with new SWIG style CPPType