Remove what can be removed from IOUtils

There are a few additional methods that are not being used in IOUtils
meaning they can be removed. The directory existential checks can be
moved to the specific methods - this makes it simpler to understand
what is going on in them as no longer does the developer need to hop
around to find a small two-liner that can be quickly read.