Show fall particles while in creative mode. Fixes BUKKIT-5009

Relocate CraftBukkit patch to fall damage when changing
gamemode from creative mode.
Alter fall particles to respect visibility API. Fixes BUKKIT-5158

Bukkits Visibility API should prevent players from seeing fall particles
of players that they cannot see.  This commit alters the handling to
provide an EntityPlayer argument that is later used to determine if they
are visible.
Re-add WorldLoadEvent lost in 314051580a0a8e4745d3a539f232b552916eb302  Fixes BUKKIT-5125

In the 1.4.2 update for CraftBukkit, a missed diff resulted in the
WorldLoadEvent no longer being fired for the worlds loaded on
startup.
Throw event when EnderCrystals harm EnderDragon. Fixes BUKKIT-4052

The EntityLiving dealDamage method will not call an event for the
entity damage caused by an explosion without an associated
entity cause, therefore, the explosion caused by EnderCrystals
needs to be explicitely handled within the EnderDragon class.
Do not fire EntityDamageEvent for explosions twice. Fixes BUKKIT-5156

Explosions directly caused by LivingEntities, such as creepers and tnt lit
by players, have their EntityDamageEvent explicitely handled within
the Explosion class.  In order to prevent double events when damage
is handled for other DamageSources, we need return null for explosion
based damage sources.