Call interact event if block cannot be punched. Fixes BUKKIT-5126

We do ray tracing on arm swings to filter out swings that hit blocks since
punching blocks has its own event handling. However, some blocks cannot
be punched so the air interact type is still valid for them. Luckily
these blocks all have a means to query them so add an additional check
for this and don't fail the check for them.
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-5106

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.