Refactor json handling for simplicity and maintainability

Move creation of the Gson serializer into a provider so that it
is only created in one place. This will make it easier to adjust
the parameters.

Use the Gson provided by this provider to serialize the objects
instead of the custom implementation in GsonParser.

Make GsonParser a Singleton that also uses the Gson provider to
deserialize the objects. Remove the redundant serialization code.

Change-Id: I185a2c13adf519ae4437afd7a3adf1c5d38f4cfe
9 files changed