initial commit with CMake and GoogleTest

project setup for clion
use CMake because it is the only build system supported by CLion
use GoogleTest for unit testing, added via git submodule feature