Dev/kwiver integration

For the extra information: a `shared` port may be connected to exactly one `mutable` port, any number of non-mutable ports, or nothing. Any other usage is a data sharing violation and not allowed. One TODO item is that port flags are not propagated across flow-dependent ports (more API is required here).