Let's do this: we will make the cmake branch (containing the 2.50.x changes) the master, and then we can look together at the changes you've made to the current master and merge them in one at a time, if they still make sense. Saffith was unhappy with some of the changes in the current master branch, but we can discuss with him and pull out the good bits.
I don't know if you've used CMake before, but it's basically a makefile for makefiles. You hit a button and it generated the MSVC 2010 project file for you, the MSVC 2016 project file for me, the Linux Makefile for Saffith and ZoriaRPG, etc. That way you do not have parallel but different builds set up by different developers for each platform, and you do not have to worry (as much) about one of the builds becoming out of sync with all of the others. If you want to add or remove a .cpp file from ZQuest, for example, you make the change in one place, in the CMakeLists.txt, and it automatically modifies the MSVC 2010 project file, 2016 project file, the Linux Makefile, etc.
CMake also makes it easy for new developers to download the source code and build ZC, as it's an extremely common and standard tool for multi-platform projects.
There should be no problem getting CMake to configure the MSVC project to speed up compilation (presumably, by using precompiled headers?). I will help you with this, once the basic compilation is working.
EDIT: And if you're getting errors, feel free to ping me on Skype (id: evouga) and we can sort them out together. (That also goes for you, Saffith).