Add list=<name> parameter to SpellInfo to add/create to the spell list.

This is an alternative way to create a spell list via SpellInfo as opposed
to listing them all directly in SpellList, i.e, these are equivalent:

    Define(buff1 12345)
      SpellInfo(buff1 list=trinket_proc_intellect)
    Define(buff2 54321)
      SpellInfo(buff2 list=trinket_proc_intellect)

and

    Define(buff1 12345)
    Define(buff2 54321)
    SpellList(trinket_proc_intellect buff1 buff2)

This makes it easier to incrementally append to a spell list definition.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@934 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Allow SpellInfo to specify a function to compute Damage().

A SpellInfo() declaration can include a "damage=FunctionName" parameter,
where FunctionName is an Ovale script function defined using AddFunction
that is used directly by the Damage() script condition to compute the
estimated damage of a spell.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@935 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Catch up with Eclipse changes in MoP.

- Eclipse energy is added at the end of the spellcast, not when the spell
  lands on its target.

- Similarly, the Eclipse buff state procs shortly after the final
  spellcast is complete, not after the final spell lands on its target.

- Handle spells like Starsurge that add energy in whatever direction we're
  already moving by allowing a new SpellInfo parameter "eclipsedir=1" to
  flag these types of spells.

- Handle Euphoria, which doubles the amount of Eclipse energy generated by
  spells when not in an Eclipse state.

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