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 cache-assertion in 4 minutes and 47 seconds (queued for 1 second)
Status Job ID Name Coverage
  Build
passed #2016375
mingw-build

00:03:52

passed #2016373
shared-build

00:04:47

passed #2016374
static-build

00:04:14