Proposed fix for encoding issue

Possible fix for <a href="https://github.com/robfletcher/betamax/issues/135">Issue #135</a>.

The issue was that binary response bodies were being saved in encoded form, and played back after being encoded once more in BetamaxFilters. The fix was to save compressed response bodies in human readable form on tape and encode on their way to the browser.
I suppose not.  But the issue is more that the AbstractEncoder returns Strings vs bytes correct?

This logic here, if it were switched to bytes after AbstractEncoder was changed, seems just about there.  We would need to encode the bytes to the correct charset but the first level of decoding from zipped to unzipped is right.

Can we address AbstractEncoder in another patch and do this iteratively?  As it stands now, nothing gzipped works so this is a big improvement.