Added function to check for length of a possible path
Added entity:destination() bind
Removed the hardcoded monster AI
Added tick argument to the monster update callback
Fixed setting name of monsters
Added look_at bind
Call the on_remove handler with the being as parameter
Added a first very basic monster ai version

The ai is similar to the old c++ version. Only the target searching is
executed every 10 ticks only now to prevent performance issues with too
many lua calls.
Warn when defining an attribute without a scope

Attributes without a scope make no sense.
Allow names instead of ids for attributes + cleanup

I did not adapt the scripts yet since we need some special handling for
the attributes which are required by the server directly. So you still
have to use the ids for those. I will change that later.

In the future I want to use the AttributeInfo class instead of the int
id everywhere possible. So I did a small start on that too.
Readded Entity:damage as lua function
Removed skills

This removes support for skills. The plan is to allow to implement the skills
as they were implemented before via attributes. This adds a lot more
flexibility to the server creators while also removing the confusion about
skills and attributes.

So this change does:
 - Remove the skillmanager with all its calls, the skill xml file, etc
 - Move exp giving to the script engine:
   --> Allows to implement the old behaviour (and more) in the scripts
 - Remove the exp tag from the monster definition:
   + Since the server itself does not require it anymore it feels wrong to
     require it for EVERY monster. TODO: Add a system to add properties to the
     monsters/items.xml which allow defining things like the exp and allows to
     read the value from the script engine.
   + Small drawback, but it should not be hard to implement this property
     system.
 - Drop the level networking and calculation.
   + level calculation will happen via the attribute system later but i would
     prefer to do this in a seperate patch since this patch already got longer
     than expected especially since this requires to make setting correction
     points and available status points scriptable.
   + The level would be simply set as a attribute, the int number of it will be
     the level, the remaining digits will be the % number till the next levelup.
 - NOT remove any existing skill tables in the database update scripts.
   + There is no way to move them into the attribute table in a unified way
     (there are too many different way they could have been used). So server
     admins have to care about moving theirs skills to attributes themselves.
   + Keeping the old tables does not hurt for existing databases. So removing
     does not give any advantage/is required anyway. The now obsolote info
     about the EXP transaction is not removed for updated databases either.
     (The update script basically only bumps the version number without doing
     anything else.
 - bump the network protocol version --> old clients won't be able to connect.
 - bump the database version         --> serveradmins need to update their db.
Readded level handling

Things done:

Wrote a entity:give_experience function (lua side only).
Renamed characterpoints to attributepoints (no db update. Did not want
to do one for a simple rename).
Temponary introduced a ATTR_LEVEL constant. TODO: dehardcode this.
Script binds for settings the correction and attribute points.