Rich plugin usage

__MERGE ONLY IN CONCERT WITH THE OTHER 3.0.0 BRANCHES.__

This makes all `RichPlugin` types implement the interfaces necessary for tracking their usage, and in particular tracks all uses of "handler" and "wrapper" plugin types.

Unfortunately, to do this, a method had to be removed from the `Gateway` interface, which breaks backwards compatibility. So this PR will be part of SJC3.