Did some refactoring around the use of caches in both distlib.resources and distlib.wheel.