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.
Look like scalariform is not properly integrated. I'll fix it in a separate PR because this affect too many scala files.