[B] Plugin extends the interface Listener Fixes BUKKIT-1

**The Issue:**

When registering events in the main class of your plugin (class that extends "JavaPlugin"), you need to implement Listener manually.

```java
public class MyAwesomePlugin extends JavaPlugin implements Listener {
  @Override
  public void onEnable() {
    getServer().getPluginManager().registerEvents(this, this);
  }

  /* Events here, etc */
}
```

With this PR you no longer have to implement Listener

```java
public class MyAwesomePlugin extends JavaPlugin {
  /* onEnable(), events, etc */
}
```

**PR Breakdown:**

Plugin interface now extends Listener

If this PR get's merged, a method in PluginManager could be created with the single argument of a Plugin

```java
void registerEvents(Plugin plugin);
```

**JIRA Ticket:**

BUKKIT-4123 - https://bukkit.atlassian.net/browse/BUKKIT-4123