Code cleanup.

- Simplify constructors for OOP classes.
- Fix leak to global namespace.
- Be cleaner about using "function static" variables.
- List private functions/methods used, including base Lua API functions.
- Quiet harmless warnings in compiler.pl slightly.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1040 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Remove reference to the wowdps.com SimC profile importer.

Currently, the importer doesn't generate working scripts and causes
needless tickets to be filed to the project.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1041 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add a time component to the :Compute method of OvaleBestAction.

The time represents the time at which to evaluate the time spans
associated with the script nodes.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1042 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Remove support for the older "natural English" script syntax.

The older syntax for scripts tried to express time spans using natural
English phrases, but were more difficult to write and were nonsensical
when put together with other valid expressions that use the modern syntax.

Remove support for the old syntax to simplify the compiler and the script
engine.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1043 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Split the generic "operator" node into "arithmetic" and "compare" nodes.

"Arithmetic" and "compare" nodes return different things when computed, so
split the computation into separate functions.

Modify the arithmetic computations so that the resulting values have an
origin of atTime, since all computations will ultimately be carried out at
t = atTime.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1044 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Implement time spans, which are continuous open intervals of time.

Convert OvaleBestAction and OvaleCondition to use actual time spans
instead of start/ending/nil to represent times.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1045 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix return value of MaxFocus().

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1046 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix return value of Chi().

Chi is a resource like holy power or combo points that doesn't have a rate
of regeneration; instead, it is gained on lost strictly through abilities
(while in combat).

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1047 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix the return value of the PTR() condition for MoP 5.4.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1048 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Clarify comment on the return value of a node evaluated as a boolean.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1049 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add new private method TestOvaleValue().

TestOvaleValue() returns either an "Ovale value", which is a linear
function, or an "Ovale boolean", which is a time span.

Reimplement TestValue() and Compare() using TestOvaleValue().

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1050 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add new comparators "atMost" and "atLeast" for condition parameters.

This allows for expressing "<= limit" or ">= limit", e.g., the following
two conditions are the same:

	Chi(atMost 3)
	Chi() <= 3

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1051 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Update most conditions to support comparisons, e.g., ComboPoints(more 0).

The CPU usage of an AttackPower() > 1000 call is about twice that of an
AttackPower(more 1000) call, so update most of the script conditions to
take comparators.

From @ShmooDude in pullup request #7 with changes by @jlam.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1052 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Clamp infinite time values to one hour when displayed on an icon.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1053 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Sanity check some values before doing arithmetic with them.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1054 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Split "actions" from "functions", where actions are Spell/Item/Macro, etc.

Actions are final actions to be suggested, while functions return booleans
or values.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1055 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix the calculation of number of ticks of a channelled spell.

This properly accounts for which type of haste affects the channelled
spell.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1056 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Clean up OvaleBestAction:GetActionInfo() and add additional comments.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1057 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Allow for multiplication and division of conditions that return numbers.

All "numbers" are actually linear functions of the form:

	f(t) = a + (t - b)*c.

Multiplication and division of linear functions does not yield a linear
function in the general case, but the resulting function can be
approximated with a first order Taylor series expansion around the current
time point.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1058 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Store the item levels of equipped items in OvaleEquipement.

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