Generate marshallable types

Change-Id: Ib3055a640cb111e02baa94b17d4a783632d47cb7
Use common encode function

Change-Id: Ib1c6adebf37a9a7cd76d1e41d50408fa0b27c777
Use common decode function

Change-Id: I4cf74c7444871e6148f62e002714d971a41ad3f0
Marshal GVAlues that hold an ARRAY value

Change-Id: I128d11194c4d2a66805e6d5c9759566f32d8b829
Marshal GVAlues that hold a LIST value

Change-Id: I64bd62c429fd76006fb6d20ac2ddc77317363adc
Do not allocate memory in library

Applications are responsible of managing buffer allocation

Change-Id: I4c53cc8c3da0ea111e39c19798eac41a998b2176