NPC vs Client damage revamp

Shot list of things that changed:
AC Softcap is based on your defensive skill (the scaling factors
are based on at least previously stated dev quotes)
The over AC Softcap returns are now based on exact calculations
made with the Armor of Wisdom AA.
Shielding item bonus and Melee mitigation spell bonus (nerfs)
NPCs damage will now correctly follow the
"damage base + (damage interval * [1, 20])" formula.

These changes might seem a little weird but I didn't want to change
any of the other damage situations since they were fairly good, but
they still could use a revamp as well.

New rules:
RULE_BOOL ( Combat, OldACSoftcapRules, false) // use old softcaps
RULE_BOOL ( Combat, UseOldDamageIntervalRules, false) // use old damage formulas for everything
RULE_REAL ( Combat, WarACSoftcapReturn, 0.3448) // new AC returns
RULE_REAL ( Combat, ClrRngMnkBrdACSoftcapReturn, 0.3030)
RULE_REAL ( Combat, PalShdACSoftcapReturn, 0.3226)
RULE_REAL ( Combat, DruNecWizEncMagACSoftcapReturn, 0.2000)
RULE_REAL ( Combat, RogShmBstBerACSoftcapReturn, 0.2500)
RULE_REAL ( Combat, SoftcapFactor, 1.88)

If you want to use the old calculations only, set
Combat:OldACSoftcapRules and Combat:UseOldDamageIntervalRules to true
Merge branch 'master' of github.com:EQEmu/Server
new spell effects
buff struct/tables - required sql
Removed: death_save_chance and deathsave_aa_chance (no longer used)
Added: dot_rune, caston_x, caston_y, caston_z
minor fixes
change log
(Performance) Corpse drag will now fetch entity by ID
Keep track of base spell id for SpellProcs/PermaProcs

This will fix numhits issue for procs from spells
Changed SE_SingingSkill to SE_Amplificatoin

This effect will now stack with other singing spell/item mods
like it does on live.
fixes
Re implemented deathsavechanceAA ect as ExtraDIChance
Confirmed on live that this effect persists even if caster not in zone.
not_reflectable -> reflectable
Merge pull request #118 from KayenEQ/master

Spell effects , buff table changes
SetDestructibleObject exported to lua
Merge branch 'master' of github.com:EQEmu/Server
Export of eq.clock(), os.clock() isn't a good option on unix
Merchants will now keep track of charges sold to them properly so it is no longer possible to recharge items using merchants.
Exported the client object SendTargetCommand to Perl.
Remove dist in Mob casting AI for roots
Make the random addition to time_cancast actually useful

It was in ms so adding 0-4 ms doesn't really do much
Mobs cast root on random person on hatelist
Debuff/Slow on random mob on hatelist
Updated GetUnusedInstanceID to not recycle instance ID's unless it has reached max (65535)