Resolves #183 by unbundling commons-io classes

This seems like a good way to resolve the issue, while also reducing the risk that potential newly discovered critical issues in these classes upstream don't linger here unnoticed.

I've opened this instead of the previous PR #184 so that I could squash commits (I'm not too familiar with github flow, so there's probably a better way to do this.