Support headers in Json response

Also reduced the memory footprint of the Json responses by not including the original Json string and the Json4s object when not required.
I don't think this will be used often other than in tests. This is why I implemented `getValues` separately.