backstore: Introduce locking in backstore_start()

There is a critical section in backstore_start() between when we figure out
which HBA is free for us to use, and when we create it. Between these two points
another instance of the same RA can come along and decide to use the same HBA as
us, thus ending up with an HBA with two backing devices in it. This works, but
is a legacy/unsupported configuration, and confuses our stop() function. The
simplest fix is to take a lock before we try to find the HBA to use, and release
it once we have created the HBA.

Signed-off-by: Chris Boot <crb@tiger-computing.co.uk>