Fixed a bug and some confusion with ACLChecklist::fastCheck()
- Added cbdataReferenceDone(accessList) call to fastCheck() in the
"if finished()" block.
- peerAllowedToUse() was setting accessList = NULL after calling
fastCheck(). Since neither fastCheck() nor peerAllowedToUse()
were calling cbdataReferenceDone(), the cbdata lock_count would
never decrease and eventually hit an assertion.
- In general, the fastCheck() callers do not need to call
cbdataReferenceDone, nor set accessList to NULL. The
cbdataReferenceDone() call should always happen in fastCheck().
If not, it will happen in the ACLCheckList destructor.
- It might be even better if fastCheck() called cbdataReference()
as well, to avoid this situation where locking happens in one
place and unlocking in another. This is future work, however.