Added serializer-based class able to make deep copies of objects — CMemorySerializer.
CGameState::init will work on the deep copy of StartInfo.
Some casts to reduce warnings.

git-svn-id: http://svn.code.sf.net/p/vcmi/code/trunk/@3743 4dfc6b2a-8b31-0410-aa91-d6c70e3ac834