Adds destructors to cleanup unreferenced capabilities
When the python object associated with a given capability is garbage collected (i.e. there are no more references to it), the object will call capnet to delete the associated capability. Except for flows. Often times, flows should persist, even after python-level references are lost. They must be manually managed.