Use ContextCompat/EnvironmentCompat to simplify file directory logic

Support Library provides ContextCompat.getExternalCacheDirs and ContextCompat.getExternalFilesDirs with alongside EnvironmentCompat.getStorageState allow use to simplify the logic of picking the best cache and files directories in a backward compatible way.