use another hash function if MD5 is not available

On some devices (at least some 4.0 and 4.1 ones) we can still look around for an other hash algorithm and use it for the rest of the lifetime of the app. Subsequent runs should produce the same result. An update of the OS should use MD5 if it's there and the old cache files with a different hash will die as new elements are pushed in the cache.