Added a cmake option to disable keyboard grabbing on linux. Enabled by default.

Fixes #293
Added support to build Crypts.

Closes #314

I also upgraded the models format and tested the editor to make sure.
Made the keyboard grab option a linux option only.

And properly defined it through CMake Cxx Flags.

Thanks to @akien-mga for pointing out.
Merge pull request #317 from Bertram25/development

CMake linux option not to grab keyboard + Added support to build a crypt
Added possibility to setup alliances in the lobby
fixes #310

The available team ids that a seat can use are defined in the level file
Note that the order matters as the first one in the list will be selected by default.
With this logic, some seats can be sealed while others can be setup in the same level.
Examples to test are used in multiplayer small test map FFA and skirmish 2v2 small test map.
Workers with claimrate = 0 should not try to claim. Same for digging.
fixes #308
Changed the KnightCoffin material to use the same texture as the Knight statue.

Since they were using the same bits anyway.
I didn't used the model given by Danimal, since it was the same model in an older format.
Fixed adding Crypts in the Editor.

Fixes #320
Merge pull request #321 from Bertram25/boulder

Some quick-fixes
Merge pull request #319 from hwoarangmy/development

Added possibility to setup alliances in the lobby + workers with claimrate = 0 do not claim anymore
Removed Golem Workers from the Keeper spawn pool.

Fixes #307
Fixed line endings for all concerned files.

Fixes #53

Note that I didn't update the line endings of the following files
since they clearly are Microsoftian ones:
./dependencies/angelscript/add_on/autowrapper/generator/generator.sln
./dependencies/angelscript/angelscript/source/as_callfunc_x64_msvc_asm.asm
Merge pull request #324 from Bertram25/development

Some more quick-fixes
Add a new AI that build every useful rooms + small fixes
Fixes:
- Added a building type to buildiong class (to prepare for tile.getCoveringBuilding instead of room/trap)
- Fixed a bug in tile claiming where it is not displayed claimed if the kobold has a certain dance rate
- Replaced Player.getHasAI per Player.getIsHuman since it is what we want to know (and because inactive players have no ai assigned and should be handled like AI players)
- Added support to allow AI to pickup/drop creatures
- Fixed the map info reading in levels to display configurable players

Concerning AI:
- To place rooms, it uses a point system (about distance from dungeon heart and active spots). That can allow to easily change how the computer places rooms and maybe even change between different AI levels.
- If the AI has no treasury, it builds 1.
- If the an allied unit gets attacked on a nearby allied claimed tile, the AI drops creatures to help
- If its creatures get wounded, the AI picks them up and drops them in its dungeon heart so they can recover

As always, I've changed the skirmish 2v2 small test map to allow testing. Now, players 3 and 4 start without treasury.
Player 4 has 3 available claimed tiles and should build on it. Player 3 have available claimed tiles in your dungeon only (not reachable). Thus, he should wait for his kobolds to claim before building the treasury

While testing, don't hesitate to play with the editor to see how the AI adapts when it cannot build somewhere or when certain rooms are already built
Moreover, if you build something on allied claimed tiles where a room was going to be built, the AI should start digging somewhere else.
Merge pull request #325 from hwoarangmy/development

Add a new AI that build every useful rooms + small fixes
Revert "Hopefully fixed the Cavehornet translucent wings."

This reverts commit b2a77f43adb134476fa3449883cc44344c85f357.
AI should wait for a certain number of turns before looking for gold or building rooms instead of time
Reduced the creatures' heal rate to be 0.02 per turn instead of an average of 0.1.
Added spawn conditions to BigKnight equivalent to the PitDemon.

I also took the opportunity to ask for a crypt there.
Added a replay menu

Please note that this feature is pretty experimental as it relies on timestamps where the server/client relies on message synchronization
But because the client in replay is the most simple, timings should not be a too big problem
Moreover, the replays takes there information from the level map. That means that if the level file is modified, there can be weird issues (same as wrong synchronization between server and client level)

But IMHO, it is a cool feature and it can help a lot debugging weird issues (like ghost tiles) so it is worth the price ^^

Later, it would be nice to have options to:
- Save only last replay (should be default)
- Do not save any replay
- Save all replay (like it is currently done)
Because on long games, replay could be quite big (for 10 minutes, it was more or less 10Mb from what I've seen)

Also note that every server related events won't be available (like the creature stats info unless it has been displayed at the same time).
Moreover, because everything is timestamped, if you pause the game, you will see it pause during replay ^^