Cleanup possible due to abstracting compression code.

Now that the compression code is mostly in the shared library we no
longer need to include zlib headers etc all over the place as all
code accessing any compression specific interface is abstracted now we
can cleanup the header files and the Makefiles. This way we also don't
leak to many global stuff into our namespace which will never be used
anyway.