Add :Clean() method to pool classes.

This method can be used to release resources held in tables allocated from
the pool object as part of releasing the item back to the pool via
pool:Release(item).  The pool:Clean(item) method is called shortly before
the table is wiped and returned to the table pool.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1184 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix name of method mixed into item stored in reference-counted pools.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1185 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Set a default value for each snapshot stat if not available.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1186 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Use reference-counted table pool to manage snapshots instead of a queue.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1187 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Update the power regen values if the power display changes.

This fixes a bug where changing from caster form to cat form on druids
showed the energy regen in cat form to be the mana regen from caster
form.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1188 d5049fe3-3747-40f7-a4b5-f36d6801af5f
De-couple module dependencies so that load-order isn't as important.

- Initialize module dependencies at OnInitialize() for the module.
- Separate modules into core and non-core modules.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1189 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix module dependencies for script conditions.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1190 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Use reference-counted table pool to manage auras.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1191 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Teach OvalePaperDoll to manage snapshot state for the simulator.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1192 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Change scope of state variable to note that it's a static value.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1193 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Initialize power fields of state machine from OvalePower.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1194 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Use a common table pool for intermediate aura tables.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1195 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Just call UnitGUID("player") if saving the value in a static property.

No need to force a module dependency on OvaleGUID for one tiny thing that
is already available at load time.

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