Added some Enchantments

- Bow enchantments: Infinity, Flame and Power
- Sword and tools enchantments: Fire Aspect, Bane of Arthropods, Smite,
Sharpness
Added more enchantments and some fixes

- Removed Debug messages
- Added Punch enchantment effect
- Added Silk Touch enchantment
- Added Unbreaking enchantment effect
Changed if for switch
Fixes

- Changed m_TicksLeftBurning > 0 for IsOnFire()
- Tried to do the changes in BlockHandler.cpp
- Removed m_Creator in ArrowEntity
- Added m_Enchantments in ProjectileEntity CreatorData
- Added blank lines between functions
Changed if in BlockHandler
Protection Enchantments, some fixes

- Protection echantments (fire, blast, feather falling, protection and
projectile). It isn't finished, add secondary effects and optimize the
code.
- Removed some brackets.
- Silk touch fixed.
More Enchantments

- Added Thorns and Respiration enchantments
Added  a_Digger check
Fixed style
Init RankMgr pointer to NULL
Delete the entity before removing from the list

Old code was calling dereference on invalid iterator
Changed null check to assert

Changed the null check to clarify that the function should not be called before the entity has been attached to a world.
Removed isDone check

The same data is returned by executeStep so why execute a call when you have the data.
Fixed style.
Merge pull request #1365 from mc-server/coverityFixes

Coverity fixes
Avoid false positive in style check.
Merge remote-tracking branch 'Hircine/Enchantments'
Fixed MSVC warning.
Fixed MSVC compilation, improved performance.

We're not creating copies of the equipped items anymore, rather, we're using pointers to them. Also pow() is needlessly slow for a simple second power, and MSVC2008 was confused about the pow() overloads.
Fixed previous commit's wrong assumptions.

The equipment-getting functions return a copy already, so we can't take a pointer, really.