Experimental aura cache and accessors.

This should avoid "seq-scanning" the auras several times to find specific player auras.
UnitAura is not accessible in rules but there are specific accessors, e.g. GetPlayerBuff(unit, id), IterateDebuffs(unit), ...
Fixed aura iterators.
Update RulesRef.md
Update Rules.textile
Merge branch 'master' of github.com:Adirelle/AdiButtonAuras
Fixes GH-53.
User-defined rules.
Changed file layout.
Reorganised sources into smaller files.
Enhanced the debug panel.
Improved the "user rules" panel.
Slightly improved the "user rules" panel, again.
DK: fixed Soul Reaper target.
README update.
Added a class restriction to user rules.
Allow "print()" in user rules for debugging purpose.
Warlock: moved Havoc suggestion in another rule.

Fixes GH-47.
Warlock: fixed Pyroclasm.
Error about access to unexistent globals un rules.
Added a "SafeGetGlobal" helper, that does not choke on nil values.