Simplified BeingComponent::updateDirection

Same as in the client.
Fixed crash when checking whether a character is already online

Not every connected game client has a character in the world. The code
was checking this, but since commit aa04597c5f8bb806996 the pointer was
being used before being checked.
Fixed typo in script docs
[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).
[Abilities] Inform other players about ability uses
[Abilities] Added a useaction to the gamedata

Only required clientside.
[Abilities] Made a first example attack ability
[Abilities] Added a add_hit_taken bind

This allows to display hit messages in the client for abilities
[Abilities] Removed the old autoattack system

As a side effect i had to remove the monster attack AI for now. I will
readd this as next thing.