Fix mutex init/free in config_file.c
Better search path sandboxing

There are a number of tests that modify the global or system
search paths during the tests.  This adds a helper function to
make it easier to restore those paths and makes sure that they
are getting restored in a manner that preserves test isolation.
pack: init the cache on packfile alloc

When running multithreaded, it is not enough to check for the offmap
allocation. Move the call to cache_init() to packfile allocation so we
can be sure it is always allocated free of races.

This fixes #2355.
Merge pull request #2356 from libgit2/rb/restore-search-paths

Better global search path sandboxing in tests
Merge pull request #2357 from libgit2/cmn/pack-cache-init

pack: init the cache on packfile alloc