Don't mock external locks with Semaphore

The firewall tests were mocking an oslo.concurrency external lock
with a vanilla Semaphore, which is not correct and broke in the
most recent oslo.concurrency release because the external locks
no longer happen to match the API of Semaphore.

The correct way to handle external locking in unit tests is now
to use the external lock fixture in oslo.concurrency.

Change-Id: I372c79e6b77614f2006d111bb538beacf323ee0c