[Bleeding] Call EntityTargetEvent for EnderDragons. Fixes BUKKIT-5160

EnderDragons did not call an EntityTargetEvent when they
were targeting random players in the End.  This commit
adds that event call into the targeting code.
[Bleeding] Fix Blazes not firing death events. Fixes BUKKIT-4898

Previously, due to the way that death events were called, Blazes only
fired death events when they dropped loot. This change fixes that,
enabling death events for Blazes whenever they die, regardless of loot
drops.
[Bleeding] Fix witches dropping empty ItemStacks on death. Fixes BUKKIT-3554
[Bleeding] Return correct drops for Cocoa blocks. Fixes BUKKIT-5159

For Cocoa Blocks, Block.getDropType() returns the item form of the Cocoa
block, rather than the Cocoa Bean item. Because of this, Cocoa blocks need
to have explicit handling in order to return the proper drop contents.