WaterSpout No Fall Damage Improved

Added getTopBlock method
Using getTopBlock we can allow the user to still create a WaterSpout
from high heights, while denying them the ability to avoid fall damage.
Flight Glitch

Attempt to always revert the players permissions when they get out of
flying.