Add mapgen-demo with two mapgens implemented.

mapgen-demo usage:
    mapgen-demo arena
  or
    mapgen-demo caves <iter-count> <random-seed>

"arena" generates a big open area surrounded by walls. "caves" generates
caves with a cellular-automata algorithm. iter-count is the number of
iterations performed: the higher it is, the more smoother the map becomes
(defaults to 3).
Fixed segfault in mapgen when started w/o args.

(facepalm)
World can be parametrized with a Map_generator.
Server now sends mapdata to clients.

The mapdata is compressed with a naive algorithm. Decompression algorithm
is provided.
create_summoner no longer puts summoners in walls.

It now takes the caller's suggestion, then tries to find an open space
by starting a breadth-first search from there.
create_puppet no longer puts puppets in walls.

Returns with failure_reason "Invalid position!" if pos is a wall.
Merge branch 'map' into guimap

Conflicts:
	src/server.cpp
	src/serverlogic.cpp
	src/serverlogic.hpp

ATM segfaults due to different startup messages (gah).
Map recieved by client.
Merge branch 'guimap'