This story decouples the need for a client application to need to know up front which private collections are accessed by a particular chaincode invocation.
Currently, when a client application sends private data (in the transient field), it must specify the endorsing orgs in order to ensure that this data is not sent to non-authorised orgs.
This story will implement a mechanism whereby the transaction proposal is endorsed by gateway's org first, then the resulting RWset is traversed to determine which (if any) collections are touched by the transaction. This information is then passed to dicovery in the ChaincodeInterest to get the list of required endorsers. The remaining endorsers are then invoked to form the endorsement.