Instrument lease manager for tracking lease changes
It is a ground work for the Free Lease Queue Allocator. The allocator must be aware of lease allocations and deletions to record the lease availability in the pool allocation state. An allocated lease should be removed from the state. A released or reclaimed lease should be added back to the pool allocation state. The LeaseMgr is the most reliable source of information about any lease changes because it handles both the allocations from the allocation engine and from the command channel. Therefore, this ticket instruments the LeaseMgr (for all backends) to install callbacks triggered when the leases are modified in the database. The FLQ allocator will use this mechanism to get notifications about such modifications. The mechanism is obviously optional and should not affect performance of the lease manager when the callbacks (and FLQ) are unused.
This mechanism is also going to be potentially useful for other applications. For instance, one can imagine having callbacks that record lease allocations to make them available to Stork.