[BACKLOG-218] Add event bus to the platform and make sure it is available on the DI Server

- leverages on guava's async event bus
- interfaces in pentaho-platform-api and implementation of MonitorService in pentaho-platform-extensions
- shell-plugin 'monitoring-eventbus-plugin' that simply starts up MonitoringService
normally don't add public (or any access modifier) to interface methods, they're effectively public. so "Serializable getId()"