Removed old monster attributes
[Abilities] Renamed specials to abilities
[Abilities] Renamed set to category

On the one hand setSetName and setName could sound misleading in the qt
client patch i plan. On the otherhand i never really liked the name
"set". I think category is more general and obvious.
[Abilities] Added network message for removed ability

This prevents really nasty code clientside
[Abilities] Turned special 1 into a point target for easier testing
[Abilities] Only send status for actually changed abilities

Previously *every* ability was spammed over the network regardless
whether it was changed or not.
[Abilities] Made the rechargespeed depending on attributes

This allows a lot more flexibility and makes stuff like magical items a
lot easier to implement. We will also use this for the attack system in
the future. So a attack (abilitiy) would simply depend on some value
like Agility (or a derived attribute from it). Which sets the recharge
speed.

The recharge speed is the modified value of the attribute per game tick.
[Abilities] Removed all except one ability

Should allow easier modification without thinking of useful examples for
each one
[Abilities] Moved the ability code into a own component

This later allows monsters and characters to use this component.
[Abilities] Added a autoconsume option

You do not need to reset the mana in the scripts if you do not want to.
We will need this for attacks later since those do not nessecary have a
script.
[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).