Fix state_unlock_locked making pinref decrement for delegation calls.

state_unlock_locked() makes a pinref decrement if the lock list becomes
empty after removing any lock. Same code is executed even for delegation
calls! Delegations use lease locks and the pinrefs are handled at the
state level, not at the lock level. Regular locks are complicated as
they may not have state, maybe blocking, ranges may be conflicting,
ranges may need to be subtracted etc. Implementation of lease locks for
delegations is very simple, so separated out lease lock handling for
easy maintenance!

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>