Remove unnecessary calls to CodecPool.returnCompressor/returnDecompressor to avoid race conditions

The input/output stream implementations erroneously add the (de)compressors back to the CodecPool on close.
The user who creates the (de)compressor is responsibile for doing this, and if they return a decompressor
as well, you will have the same instance in the pool twice.
Ensure users who don't supply a (de)compressor don't leak (de)compressors
Fixup bogus imports
Incorporate @rangadi's feedback
Fix up imports
Merge pull request #103 from themodernlife/fix-codec-pooling

Remove unnecessary calls to CodecPool.returnCompressor/returnDecompresso...