Fix error in using "more" or "less" with decreasing values.

When using a script condition that has a decreasing value, e.g.,
BuffRemains(), the value is a function

    f(t) = value + (t - origin) * rate

where rate is negative.  When using the "more"/"less" comparators, e.g.,
BuffRemains(more 3), this effectively solves the following inequality:

    f(t) = value + (t - origin) * rate > 3

When the rate is negative, the inequality is reversed, and you end up
with:

   t < (3 - value)/rate + origin

Prior to this commit, Ovale was using the wrong answer of:

   t > (3 - value)/rate + origin

This had broken scripts that were using the verbose method of comparing
values.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@751 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Guard against nil ending times for auras when computing DoT ticks.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@752 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Document what are the return values for a script condition.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@753 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Move debugging code for OvaleCompile into OvaleCompile module.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@754 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Improve encapsulation of OvalePaperDoll.

Track player class and level in OvalePaperDoll.  They are player stats,
in a way, and are available in the in-game paper doll.

Use player class and level from OvalePaperDoll in the other modules and
remove the same from OvaleData.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@755 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Improve encapsulation of OvaleFuture.

Add new method to OvaleFuture that generates an iterator for other modules
to walk the list of spells that are cast or are in flight to their
targets.  Make the list of active spells private since it doesn't need to
be accessed outside of OvaleFuture.

Use the iterator in OvaleState to apply the spell effects of those
travelling spells, and remove OvaleFuture:Apply() since it is no longer
needed.  This de-couples OvaleFuture from OvaleState.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@756 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Improve encapsulation of OvaleData.

Split out OvaleData:GetComputedSpellCD() into a new method GetSpellCD()
which queries the Blizzard API, and a second portion moved to
OvaleState:GetComputedSpellCD() that checks the frame state for any spell
CDs found there.  This de-couples OvaleData from OvaleState.

Use OvaleState:GetComputedSpellCD() in place of the removed
OvaleData:GetComputedSpellCD() in the various Ovale modules.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@757 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Store the current time, updated per frame refresh, in Ovale.now.

Change the modules that update based on live events to use Ovale.now
instead of OvaleState.maintenant.  Ovale.now tracks the actual current
time.  OvaleState.maintenant tracks the time of the simulation which can
lag behind due to the update interval set in the options.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@758 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Reorder Lua files to load in order of dependencies required.

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