Ovale Spell Priority 6.0.39

Changes from version 6.0.38:

- Remove warning to avoid Curse Client since we generate our own releases.

- Add standalone script to generate our own Ovale releases.

The generated release addon differs slightly from the release generated by
the CurseForge packager in two details: (1) the changelog is a slightly
different format, and (2) the libs.xml file is slightly different from the
one created by the packager after repository keyword expansion.

- Update scripts to SimulationCraft git master from 2015-01-04.

- Update copyright.

- Cache results for GetActionInfo() to avoid extra computation.

- The "target" parameter of UNIT_SPELLCAST_SENT is always a string.

The event handler was improperly setting the spellcast's target for spells
that have no target, e.g., Chi Burst, to nil instead of the default
(valid) target.

- Fix GetGlobalCooldown() after a spellcast is cancelled.

GetGlobalCooldown internally uses GetSpellCooldown(61304) to get the
current GCD information; however, that doesn't always return the correct
information immediately after the UNIT_SPELLCAST_* events fire.  Fix the
return value for at least after UNIT_SPELLCAST_INTERRUPTED fires, when the
GCD should simply reset.

Also only update when the UNIT_SPELLCAST_* events fire for the player
instead of any unit in the party/raid, and register with OvaleDebug for
live debugging messages.

- Correctly set the cooldown of channeled spells in the simulator.

- Set the time of the next cast depending on the previous spell.

If the previous spell triggered the GCD, then wait till the next GCD cast
time to cast the next spell; otherwise, compute the next spell to cast at
the current time so that off-GCD spells that have priority can be
suggested immediately.

This matches the behavior of SimulationCraft where a whole batch of
off-GCD spells are cast when the next GCD spell is cast.

- Add a time component to the computation for the best action.

Introduce an "atTime" parameter in various places in the code path to
allow asking for the the best action to take at a certain time in the
simulator.  Default "atTime" to state.nextCast to match current semantics.

- "interrupt" is a compile-time property, not a run-time property.

- The Anticipation buff is updated at the end of the spellcast.

- Check for the combo point count in the simulator in ApplySpell*().

- Rename MaxTravelTime() to TravelTime() and default to zero travel time.

Tag spells that have a travel time with "travel_time=N" where N is the
estimated number of seconds for the travel time.

- Apply auras at the correct time for channeled spells.

Channeled spells are instant and apply their effects when the spell is
cast.

Also remove the distinction between "on hit" and "after hit" for applying
the effects of a spellcast that is in flight.  Estimate the travel time of
the spell to determine when to apply the auras on the target.

- Rename local variable for brevity.

- Fix symbol hiding that was causing offgcd spells to always be on GCD.

- Shaman: Move Healing Rain ahead of Cloudburst Totem on priority.

- Remove TODO file that was accidentally committed.

- Don't create "nolib" versions of the addon when packaging.

- Update warning to include the URL for the 6.0.38 release.

- Add warning to README due to repository/packager brokenness.
