Move logic to general base class and remove duplicate code.
# Major fixes:
* Big memory leak fixed, from over 170 million objects to zero!
	* Reported by: @UnAfraid
* Fixed Blessed Spiritshot bonus not being applied.
* Fixed self-effect success being calculated with target instead of
caster.
* Dropped useless/unused effect support for items.
* Fixed NPE vulnerabilities in:
	* `ConditionPlayerCanCreateOutpost`
	* `ConditionPlayerCanSummonSiegeGolem`
	* `ConditionPlayerCanCreateBase`
	* `ConditionPlayerCanTakeCastle`
	* `ConditionPlayerCanTakeFort`
* No more stats attached to skills, they must be defined on an effect.
* Removed BaseMul, now Mul with order 0x01 will replace it.
* Source cleanup.
Merge branch 'master' into drop4

Conflicts:
	L2J_Server/java/com/l2jserver/gameserver/model/drops/CorpseDropItem.java
	L2J_Server/java/com/l2jserver/gameserver/model/drops/DeathDropItem.java
	L2J_Server/java/com/l2jserver/gameserver/model/drops/GeneralDropItem.java
	L2J_Server/java/com/l2jserver/gameserver/model/drops/GroupedDeathDropItem.java
	L2J_Server/java/com/l2jserver/gameserver/model/drops/GroupedGeneralDropItem.java
	L2J_Server/java/com/l2jserver/gameserver/model/drops/strategy/INonGroupedKillerChanceModifierStrategy.java
Merge branch 'master' of https://github.com/Battlecruiser/L2J_Server
Merge branch 'drop4' into drop2
Merge branch 'drop2' of https://github.com/Battlecruiser/L2J_Server_BETA

Conflicts:
	L2J_Server/java/com/l2jserver/gameserver/model/stats/Formulas.java
	L2J_Server/java/com/l2jserver/gameserver/model/stats/functions/formulas/FuncArmorSet.java
	L2J_Server/java/com/l2jserver/gameserver/model/stats/functions/formulas/FuncMaxHpMul.java
Merge branch 'master' of https://github.com/Battlecruiser/L2J_Server_BETA