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.
1 job for master in 38 seconds (queued for 1 second)
Status Job ID Name Coverage
passed #1262