Massive file renaming to have shorter names.
Adjustments for filename changes.
Adapt compiler.pl for filename changes.

Also fix the classification of which methods are "public static" and which
are "public" for modules.
Fix name of Blizzard-provided constant.

MAX_TALENT_TIERS is defined in FrameXML/TalentFrameBase.lua.
Check that spells are known before calling API functions using names.

This fixes ticket 455 by @khalim_46.
Code cleanup: turn some functions into one-liners.
Support new declaration SpellRequire() for spell run-time requirements.

The syntax for the new spell requirements declaration is:

    SpellInfo(id property=require)
    SpellRequire(id property value=req1 value=req2 ...)

This means that the named property has its value set based on which
matching requirements in the current state are met.
Make "check requirements" code more re-usable.

Create a registry of "requirement handlers" in OvaleData and provide two
new methods to make use of those handlers:

    OvaleData:CheckRequirements(tokenIterator, target)
    state:CheckRequirements(tokenIterator, target)

The required parameter "tokenIterator" is an iterator that returns a new
token every time it is evaluated.

This is designed to take a tokenIterator instead of a string so that
different separators can be used and the same handlers will still work.

Add new methods to retrieve spell info property with runtime checks:

    OvaleData:GetSpellInfoProperty(spellId, property, target)
    state:GetSpellInfoProperty(spellId, property, target)
Remove redundant check for spell cooldown in Future module.

Cooldown information is managed and more thoroughly checked in the state
machine by the Cooldown module.
Convert to use GetSpellInfoProperty() methods to allow run-time checks.

Replace direct checks for si.property with calls to GetSpellInfoProperty()
to allow for run-time overrides of their values via definitions via
SpellRequire.

Deprecate the following parameters and replace with appropriate
SpellRequire() declarations:

    buff_<powerType>_none
    buff_no_cd
    buff_no_stealthed
    buff_no_target_health_pct
    target_health_pct_no_cd
Add more run-time requirement handlers and use them throughout the code.
Remove "stance" from keyword list since it's not a compile-time parameter.
Fix bug in finding an aura applied by a spell.

The "extend,N" syntax wasn't being parsed properly.
For actions requiring a poolable resource, return appropriate timespans.
Warlock: Describe how Fire and Brimstone replaces spells.

Use SpellRequire() to describe how Fire and Brimstones replaces the
following spells with different versions:

   Chaos Bolt, Conflagrate, Immolate, Incinerate
Priest: Describe how Shadow Word: Insanity replaces Mind Flay.
Add proper upvalues for global symbols for local references.

* Upvalue "math.huge" as "INFINITY".
* Upvalue Blizzard API function "PlaySoundFile".
* Upvalue "Ovale" and export that symbol to the global namespace.
Don't wrap Blizzard API functions in the profiler anymore.

The cost of those functions is now just part of the calling functions,
which makes comparing time of execution of the calling functions more
meaningful.
Move some AoE spells from the single-target icon to the short CD icon.

This makes using those spells more situational, though it's still highly
recommended to use the short CD spells ahead of the main spells for
maximum single target DPS.

Closes ticket 457 by @Lokmar.
Druid: Describe how Wild Charge gets replaced depending on stance.

This allows just using "wild_charge" in scripts regardless of stance.
Add translations for SimulationCraft's buff.wild_charge_movement.down
and add a range check to Wild Charge.