Free local FcCache lock on contention

If two threads attempt to create the FcCache lock in lock_cache at the
same time, both threads may create and initialize a local FcMutex. One
thread will atomically make cache_lock point to its FcMutex. The other
thread currently calls FcMutexFinish on the local lock, but does not
free it. Change this behavior to free the unused lock.

Found with test/test-pthread on an LeakSanitizer enabled build.
12 jobs for fccache_free_contended_lock_creation in 14 minutes and 22 seconds (queued for 12 seconds)
latest
Status Name Job ID Coverage
  Build
passed meson android arm64 fedora #13399760

00:01:14

passed meson macos #13399758
gst-macos-10.15

00:03:20

passed meson-mingw-w64-build #13399755

00:06:04

manual meson msys2 #13399759
docker windows 1809 allowed to fail manual
passed meson-shared-build #13399783

00:05:15

passed meson-static-build #13399754

00:06:16

passed meson vs2017 amd64 #13399756
docker windows 1809

00:01:19

passed meson vs2017 x86 #13399757
docker windows 1809

00:01:21

passed mingw-build #13399752

00:03:45

passed shared-build #13399750

00:09:07

passed static-build #13399751

00:07:38

failed meson-shared-build #13399753

00:06:02