Compilation

some work on compile process, 
remove hardcoded gcc/g++ references and use $(CC) $(CXX), 
make clean target, 
compliance with some C++ standards (on the way to Clang)