Handle case where cache file does not exist.
Merge branch 'master' of https://github.com/cbhaley/calibre

Fixes #1238887 [Smart Device Control failes with Errno 2 No such file or directory:  <path>\\AppData\\Local\\calibre-cache\\device_drivers_SMART_DEVICE_APP_metadata_cache.json'](https://bugs.launchpad.net/calibre/+bug/1238887)