Make sure that the cache_path is created for Sqlite3 files

When you try to use the SQLite backend and don't have the necessary paths created, Picky will crash because SQLite can't open (or create) the right file. This is because the directory is only created in #reset, but the file is opened in lazily_initialize_client. The specs ran through because the temporary directory was not cleaned, thus leaving the paths intact. Also, another spec would create the necessary path. This code implements a fix and also fixes the specs.