Java: rewrite function fetchAndPassBackToClient

- rewrite #64 - to not unzip and zip again, but instead send content-encoding header
- add content-encoding when avaliable (to serve gzip or other possible encoding)
- remove checking for content-type to avoid RTE  when null
- add logic to check if response code is 400 or above, getErrorStream, otherwise getInputStream
- make sure to set error status code in the response
- clean up