ADD: CMake support

Add CMake support In order to get multiplatform support.

Validated:
  MSVC:
    Validated on Visual Studio 2013 (MSVC2012)
  GCC:
    Raise error when used with GCC < 4.7
    GCC (4.7) support: memcmp part of string.h