Added WaterWave, Major Efficiency Changes

Added WaterWave:
    - Added the ability to AbiilityModuleManager and StockAbilities
    - Adjusted the config.yml and plugin.yml to include the permissions, description, and configuration options.
    
AirBubble and WaterBubble Efficiency:
    - Added a check to the bubbles to make sure that the block is water before doing the isRegionProtectedFromBuild() call, it should significantly improve the bubbles.
    
Improving Earthbending Efficiency:
    - Rewrote the logic in the isEarthbendable method to check the material of the block before checking isRegionProtectedFromBuild().
    - Rewrote isTransparentToEarthbending to check if the material is found in the "transparentToEarthbending" list before checking isRegionProtectedFromBuild().
    
LavaFlow Cleanup Fix:
    When a player was using LavaFlow the blocks would flood over to other blocks causing those blocks to turn into stone and Obsidian. The reason they would flood over is because they were not TempBlocks so they free to move as they pleased. Since LavaSurge is unable to bend TempBlocks I added a special check to determine if the TempBlocks came from a LavaFlow, in which case allow the bending to occur.
    - Fixed a problem where AvatarState LavaFlow was cleaning up all the blocks instantly
    - LavaFlow's blocks are not considered TempBlocks if checked from the TempBlock.isTempBlock() method.
    - LavaFlow does not flood to other blocks any more, all the blocks get cleaned up now.
    - Modified Methods.isLavaBendable() to allow TempBlocks that were created from a LavaFlow.

WaterSpout Creation Problem:
    - Fixed a problem in which WaterSpouts were not being created if the player was submerged under water.