Allow monster name in <drop> tag

Reviewed-by: Stefan Beller.
Fixed issues with removing attribute modifiers

* AttributeModifiersEffect::remove was not calling updateMod with the
  'value' parameter, causing it to have no effect at all for Stackable
  modifiers.

* The cached value of the changed modifier effect was not being
  recalculated when removing modifiers, because it started one layer too
  high (there's an inconsistency here: AttributeModifiersEffect::add
  updates this cached value while AttributeModifiersEffect::remove
  doesn't).

Reviewed-by: Erik Schilling
Fixed item_drop insertion of object
Dropped .gz suffix for maps

Reviewed-by: bjorn.
Allow map objects as warp targets

This patch allows map objects as warp targets.
For use:
 - Create object in tiled with type="WARP_DEST"
 - Set name to anything you want
 - Create usual WARP object
 - Leave out the DEST_{X,Y} part
 - Add DEST_NAME property with the name of the first object

This requires the game server to parse all maps at startup.

Change is tested.

Reviewed-by: bjorn.
Added travis config
Fixed marking map as activated

The patch that allowed to use map objects as warp targets broke this.
During run of map initalize mActive was still false. This broke creating
objects (npc, triggers) in atinit.

Reviewed-by: bjorn.
Extended warnings for parsing warps

Reviewed-by: bjorn.
Moved order of sending gender

Gender is shared. There is no reason in duplicating code

*Breaks compatbility with old clients*
*Requires clientside patch*

Reviewed-by: Stefan Beller.
Create database using a single transaction

Takes the time required to do initial database creation down from
16 to 0.2 seconds on the Raspberry Pi.
Fixed codeblocks compile for linux targets
Set the current map when executing being callbacks

The on_death and on_remove callbacks where not being executed in the
context of any map. Now they execute in the context of the map of the
being.

Reviewed-by: Erik Schilling
Rename AutoAttack to Attack
Work on (Auto)Attack system.

During the implementation bjorn and I agreed to limit the number of attacks that
can be used in the same tick to one. This makes a lot of stuff easier and the
client cannot display two frames at the same time

Things done:
 - Implemented setting of attacks when equipping/unequipping items
 - Single place where the xml attack node is parsed
 - Finished attack logic
 - Unified the attack handling of monsters and characters
 - Added a global cooldown after attack use
   (not only for next use of same attack)
 - Removed the temponary attributes for the monster attack values
 - Priorities for all attacks
 - Rewrote the attack core:
  - Attacks now have this attributes:
   - warmup -> time a attack needs after starting it to actually deal the damage
   - cooldown -> time a attack needs after dealing damage before another attack
                 can be used
   - reuse -> time before the same attack can be used again

  - If no attack is performed at the moment the following is done:
   - make a list with all ready attacks
   - check for attack that has the necessarily range and highest priority
   - start this attack (inform client about it)
   - when warmup is finished -> trigger damage
   - when cooldown is finished -> allow to use other (or the same if reusetimer
                                  allows) attacks
TODO:
 - sync client with this to allow better timed animations
Added script binds for getting attack information

New binds:
- Damage:
 - id
 - skill
 - base
 - delta
 - cth
 - element
 - type
 - truestrike
 - range
- Attack:
 - priority
 - cooldown
 - warmup
 - global_cooldown
 - damage
 - on_attack
- MonsterClass:
 - attacks
- ItemClass:
 - attacks
Added Vulnerabilities for monsters

You can now actually use the already used node in the monsters.xml
Monsters can have different vulnerabillities against elements:
<vulnerabillity element="earth" factor="2.0" />
This will double damage of the element earth to this monster.
Fixed syntax error (added missing '{')
Added support for Lua 5.2

Should still work against Lua 5.1 as well.
Micro-optimizations for pushing strings to Lua

Use lua_pushliteral and lua_pushlstring instead of lua_pushstring, which
avoids Lua having to determine the length of the string.
Replaced 'unsigned int' with 'unsigned'

Same thing, but shorter.