Changes on FileController

Uses the best cache directory based on sdk version and availability of an external storage device (sd card).