Add external lock fixture

This was requested by consumers of the library so they don't have
to enable external locks globally with the OSLO_LOCK_PATH env var,
which can mask bugs in unit tests that have interdependencies
because it makes every lock in any unit test shared.  The new
fixture allows a separate lock directory to be created for each
test, and allows external locking to only be enabled for tests
that need it.

Change-Id: Iae7ce302e1a3a5ad90ca5310f5ac7a6164867637