lxd/instance/operationlock: Reworks CreateWaitGet
lxd/instance/operationlock: Reworks CreateWaitGet

 - Returns ErrNonReusuableSucceeded if matching operation found, but couldn't create or reuse and had to wait until successfully completed.
 - Renames some variables for clarity.
 - Improves comments.
 - Uses op.ActionMatch().

Signed-off-by: Thomas Parrott <6b778ce645fb0e3dde76d79eccad490955b1ae74@canonical.com>

stgraber/lxd,lxc/lxd,hallyn/lxd,stgraber/lxd,lxc/lxd,stgraber/lxd,lxc/lxd,lxc/lxd,stgraber/lxd,hallyn/lxd,stgraber/lxd,stgraber/lxd,stgraber/lxd,hallyn/lxd,lxc/lxd,hallyn/lxd,hallyn/lxd,lxc/lxd,lxc/lxd,hallyn/lxd