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.
Merge pull request #84 from ianhanniballake/file_compat

Use ContextCompat/EnvironmentCompat to simplify file directory logic