Increase kImageCacheTimeout to 60 seconds
Fix LoadCacheImage logic so that when checking for an image in the memory cache we only perform the last modified checks if it's actually found. This prevents us checking twice for every single image.

Also fix a bug where we loaded an image from the disk cache when we were only supposed to be checking whether it was in the memory cache.
Don't perform last modified checks on internet images which are in the memory cache, this causes an unnecessary delay.