Improve conversion features of json package

- Split Converter to Marshall/UnMarshall
- Make Marshall/UnMarshall convariant/contravariant
- importing "auto._" is no longer necessary
- Move the implementation of LabelledProductTypeClass into internal pacakge