This is to solve problems like communicating among
Gerrit components, plugins and Gerrit, and plugins
themselves.
Original discussion and one classic problem to solve:
https://gerrit-review.googlesource.com/c/gerrit/+/242732
```
// pluginA
Gerrit.install(plugin => {
// do something
Gerrit.emit("event-name", {plugin: plugin});
});
// Gerrit
Gerrit.on("event-name", event => {
// event.plugin should be pluginA
});
```
Change-Id: I8b9703f5fafd5fc00054d6d4bce4628d4aba6624