Initial CMake build for Linux
CMake build support for OSX and Win32

TODO: "make prep" code generation targets.
Add "prep" code generation step to CMake builds
CMake build basic support for MSVC