[Abilities] Added support for a global cooldown

Each ability can now define a cooldown that prevents the player from
using other abilities for a while. The time of this cooldown can be set
to any attribute. The modified value of the attribute is the value of
the cooldown in game ticks. The cooldown will be automatically started
if the ability has `autoconsume` set to true. Otherwise a script has to
call entity:cooldown_ability(ability).
[Abilities] Inform other players about ability uses
[Abilities] Added a useaction to the gamedata

Only required clientside.