add hook to CannedObject

so that additional post-processing can happen on uncanning
use canning hook in dependent

allows the dependency function to be called even before the real task arguments are unpacked.
docstring for CannedObject.__init__