Improve UX when a plugin is not supported in a cloud runtime
Not all features are support in cloud runtimes. Most notably, transactions and any transaction based dataset (Table, IndexedTable, KeyValueTable, TimePartitionedFileSet, etc.) are not supported in cloud runtimes.
There should be some way for us to annotate or tag these plugins so that we know which ones work in all environments and which one only work natively. Ideally, we would fail a program run immediately – or not even allow it to begin for manually started runs – if an unsupported plugin is being used in a cloud run.
Added capability to allow specifying Requirements by Plugins and filter them on basis of their Requirements.