{artifact,source,cas}cache: fix one-shot callbacks
Remove the unintended side-effect of only being able to iterate the
ref_callbacks results once. This would mean that subsequent calls to
clean() were not honoring the required_refs correctly.
Update CasQuota.clean() to call the ref callbacks and iterate over
their results.
When registering ref callbacks; pass the methods, and not the generators that they return.