Return plausible isReadable() default impl for ext storage

When an ext storage doesn't implement isReadable(), always returning
true made the file scanner believe that the file exists and creates a
cache entry with the size zero.

This fix makes the default impl of isReadable() and isUpdatable() use file_exists() instead of blindly returning true.

Fixes #5649 

It seems the isUpdatable() fix doesn't fix file overwriting under the same conditions, I'll look into it as part of another related ticket #5348

Please review @icewind1991 @karlitschek @DeepDiver1975 @schiesbn