SharedLock: restrict assertion condition
SharedLock: restrict assertion condition

When we release a shared lock if there are no exclusive waiter then the number
of shared waiters must be exactly equal to the ones scheduled to pass.

Reviewed-by: iustinp


andir/ganeti,mbakke/ganeti,andir/ganeti,onponomarev/ganeti,leshchevds/ganeti,ganeti-github-testing/ganeti-test-1,dimara/ganeti,leshchevds/ganeti,ganeti/ganeti,apyrgio/snf-ganeti,mbakke/ganeti,bitemyapp/ganeti,onponomarev/ganeti,leshchevds/ganeti,ganeti/ganeti,bitemyapp/ganeti,grnet/snf-ganeti,yiannist/ganeti,yiannist/ganeti,apyrgio/ganeti,apyrgio/ganeti,ganeti/ganeti,mbakke/ganeti,grnet/snf-ganeti,apyrgio/snf-ganeti,dimara/ganeti,andir/ganeti,yiannist/ganeti,ganeti-github-testing/ganeti-test-1