Fix assertion in FcCacheFini() again

The previous fix in fbc05949 was wrong. reverting.

When reading older caches, FcDirCacheMapHelper() returns FcFalse and
it became the return value from FcDirCacheProcess() too, which is wrong.
Actually one of calls for FcDirCacheMapHelper() should be successfully
finished and closure should have a valid pointer for cache.

Due to this, the proper finalization process wasn't running against
cache in closure.

Fixes fontconfig/fontconfig#227
3 jobs for master in 4 minutes and 52 seconds
Status Job ID Name Coverage
  Build
passed #2016385
mingw-build

00:04:52

passed #2016383
shared-build

00:04:01

passed #2016384
static-build

00:03:07