Sanity-check "mouseover"-related units in OvaleGUID method results.

Mouseover and mouseover-derived targets cached by OvaleGUID are not
necessarily valid because the cursor may have moved off the previous
mouseover target (there is no event fired for moving off).  Verify that
the mouseover unit is still there before returning these unit IDs.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@895 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Change the way that auras are scanned and kept in the aura database.

Keep a separate aura age for each GUID so we can tell when an aura
previously present is missing in a new aura scan of that GUID without
affecting the determination of other unit's aura ages.  The age is simply
the number of times the unit's auras were scanned.

Be more strict about deciding when an aura found on a unit matches one
that was recently scanned on the same unit.  An aura is the same if the
following details match:

	caster, duration, expiration time, stack count

Being more strict helps to "age" the auras properly, instead of tossing
them out and getting new scans each time UpdateAuras/ScanUnitAuras is run.

These changes will allow us to store more metadata in the aura properties
about the player's state (e.g., tick length, crit chance, etc.) at the
time the aura was gained.

Also, store the caster's GUID in the aura properties instead of the
caster's unit ID.  The former is invariant and better suited to aura
scans triggered by CLEU events.

Rename two methods to be more descriptive about what they do:

	UpdateAuras -> ScanUnitAuras
	AddAura -> UnitGainedAura

Re-use code to remove expired auras and be more DRY.

Be smarter about when to trigger an Ovale refresh event by checking
whether auras have actually changed on a unit since they were last
scanned.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@896 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Dynamically update tick length of auras applied by the player.

The tick times of a periodic aura applied by the player are taken from
watching for SPELL_PERIODIC CLEU events.  Those tick times are used to
update the estimate for the aura's tick length based on empirical
evidence, and is hopefully more accurate.  It also avoids needing to store
the haste percentage at which a periodic aura was applied.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@897 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix ticket #235 - Ret Paladin spell IDs

Execution Sentence has a different spell ID for the ability (114157) and
the debuff (114156).

Guardian of Ancient Kings has spell ID 86698 for retribution paladins.

Thanks to @stonecow for the correct spell IDs.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@898 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix ticket #236 - Fixes for Ovale priest default script

Change the spell IDs of Halo and Divine Star to the shadow spec versions.
Thanks to @napgravy for the fix.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@899 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Shadow priest DoTs are affected by spell haste.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@900 d5049fe3-3747-40f7-a4b5-f36d6801af5f