[B] Add FIREWORK_EXPLODE to the EntityEffect. Adds BUKKIT-4538

**The Issue:**

Currently, fireworks use a expected time to live number to determine when they need to explode. If you would like to detonate a firework, you would have to set the power level of the firework to 0, but this still leaves a small delay if the firework was very recently launched. Server code will add 1 power to the one provided, multiply that by 10, then add up to 11 more ticks. This causes the firework to only explode at least 10 ticks after being created. This leaves a small chance of the firework not exploding when the plugin wants it to. There is also no way to properly play the effect outside of this randomness.

**Justification for this PR:**

As Minecraft considers a Firework to have an EntityEffect, Bukkit should also follow this and have an EntityEffect.FIREWORK_EXPLODE

**PR Breakdown:**

This PR adds the EntityEffect.FIREWORK_EXPLODE, which is used to play the effect made from a firework.

**Testing Results and Materials:**

A plugin was made that would utilize this new enum value. It would create a new firework on command, set the power to 120, which would mean the firework would expect to detonate at least 1200 ticks later. A scheduled task that was set to run 60 ticks later would call the firework.playEffect(EntityEffect.FIREWORK_EXPLODE) method.

````
@Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            return true;
        }
        Firework firework = ((Player) sender).getWorld().spawn(((Player) sender).getLocation(), Firework.class);
        FireworkMeta meta = firework.getFireworkMeta();
        meta.setPower(120);
        meta.addEffect(FireworkEffect.builder().with(FireworkEffect.Type.BALL).withColor(Color.WHITE).build());
        firework.setFireworkMeta(meta);
        Bukkit.getScheduler().runTaskLater(this, new Explode(firework), 60);
        return true;
    }

    private class Explode extends BukkitRunnable {

        private final Firework firework;

        public Explode(Firework fire) {
            super();
            firework = fire;
        }

        @Override
        public void run() {
            Bukkit.broadcastMessage("Detonating firework now");
            firework.playEffect(EntityEffect.FIREWORK_EXPLODE);
            firework.remove();
            Bukkit.broadcastMessage("Detonated");
        }
    }
````

Full plugin source: https://dl.dropboxusercontent.com/u/53849969/Bukkit-PRs/src.zip
Compiled binary: https://dl.dropboxusercontent.com/u/53849969/Bukkit-PRs/TestPlugin-1.0-SNAPSHOT.jar

**Relevent PRs**

https://github.com/Bukkit/CraftBukkit/pull/1195 - Original PR made to achieve this, however approach in this PR was more acceptable
https://github.com/Bukkit/Bukkit/pull/900 - Original PR made to achieve this, however approach in this PR was more acceptable

**JIRA Ticket**

https://bukkit.atlassian.net/browse/BUKKIT-4538