Better deserialization of query results through the ExploreClient

Solving https://issues.cask.co/browse/CDAP-384:
Instead of including the type information in every cell of every row of results of a query, the ``ExploreClient`` re uses the information of type contained in the result schema, to better deserialize from Json to ``QueryResult`` objects.

Bamboo build: https://builds.cask.co/browse/CDAP-DUT123-1
You're right, it's better. Even though we only risk multiple calls to ``exploreClient.getResultSchema(handle)``, which would always return the same object anyway. But avoiding unnecessary calls is a big plus.