Initial refactoring
* reduce registerTypes* templtates instantiation
Refactor metaprogramming-helper structs
More rafactoring
More refactoring
Fix client build
* use regular overloaded methods for client serialization.
(serialize template not needed if connection.h already included and save/load code is different)
Merge branch 'develop' into experimental/serializerrefactoring
Merge pull request #66 from vcmi/experimental/serializerrefactoring

Works with MVS, merging.
[MVS] Added /LTCG option to improve linker performance.
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
Zone placer will remember the best solution, not the last generated.
Remember "best" placement at right moment.
Better fitness function(s)