Simpler input stream chain

 It occurred to me that using a simple FilterInputStream subclass to update the Mac directly would remove the need for the TeeInputStream and the ByteArrayOutputStream manipulation. This to me seems simpler and more efficient.

This also has the effect of fixing Issue #6, since there is no reset() needed anywhere.  I based this off pull request #15, so this is basically an alternative -- you don't need to merge both.

The only apache-commons dependency in the main code is now a couple of IOUtils methods; it might be worth implementing those locally and removing that dependency.