Initial CMake settings.
Creates a shared library.
Ignoring build folder and vim tmp files
Defining __const as const for MSVC
Excluding gromacs_objectives.c from target
Adding youcompleteme settings for linux
Use snprintf instead of sprintf.

For Windows compatibility, as snprintf is not available. Also defines
snprintf as _snprintf for Visual Studio.
Uses equivalents of getcwd and getpid for MSVC

Also test WIN32 for correct inclusion of header files.
Use cmake helpers to declare dll export macros.
Shared library must have only common files
Beginning to export some dll functions.
Only removes gromacs_objectives.c if MSVC.
Some comments.
Finished exporting functions used by protpred-Gromacs-Random_Algorithm_PSP
Adding youcompleteme include dir.
Excludes from MSVC compilation run_programs_with_pipe
Finshed including possible targets
CMake generated 2pg_cartesian_export.h for retro-compatiblity with Makefile.
Commiting linux generated 2pg_cartesian_export.h
Including proper header for back compatiblity with Make.