Ovale Spell Priority 6.0.49

Changes from version 6.0.48:

- Merge branch 'simulationcraft'.

Pull in changes from MMO-Champion rogue forums from 2015-01-22.

- Import Tier17M profiles from MMO-Champion rogue forum, updated 2015-01-22.

- Update deDE localization data.

- Regenerate scripts to include "post-conditions" and "time_to_die" fixes.

- Ensure that actions after an action-list function aren't suggested early.

Create a "post-conditions" function that can be used as a conditional for
the block of statements after calling an action-list function.  The
post-conditions conditional function ensures that the statements after the
action-list function call are never suggested earlier than they should be.

This fixes a SimulationCraft-to-Ovale translation error for profiles that
use "call_action_list".

Fix for ticket 547 by @Reason2012.

- SimulationCraft can use "time_to_die" instead of "target.time_to_die".

"time_to_die" is both a character property and a time event in
SimulationCraft.  Silently translate all "time_to_die" to the equivalent
of "target.time_to_die".

Fixes problems in some scripts based on damage profiles where instead of
checking the target's time-to-die, it was using the player's instead,
which was clearly wrong.

Problem noted by @Wiljo.

- Alphabetize the AddIcon parameters to minimize future diffs.

- Sort parameters for a consistent hash value for functions.

- Add helper function to more easily create logical AST expression nodes.

- Ensure that the [Power]Percent() conditions cap properly at 100.

- Only short-circuit the evaluation based on the result of the left child.

- Use IsUniverse(timeSpan) instead of explicit checks for (0, INFINITY).

- Add "IsUniverse()" method to OvaleTimeSpan.

This method encapsulates the check for the timespan (0, INFINITY).
