Fix build on MSVC 2010
Make mapgen factory setup more elegant, add mapgen_v6.h