Add gtest framework

refer to https://github.com/snikulov/google-test-examples
Add a Sample of Allocator. (Temp)

Try to support Cygwin, MinGW to use libc++-v3 (GNU STL).
For VS, it will be better using Boost or STLPort (based on SGL STL).
Standard Allocator doesn't support Pool_Alloc. But SGI STL gives an
alloc class to do it.
Support Cygwin, MinGW, VS2012.

For Cygwin, update gcc, g++, stdlibc++ to v4.7.2 and install svn, cmake
then enable pthreads in gtest.
For MinGW, install apache subversion command line tools
(http://www.visualsvn.com/downloads/), generate MSYS Makefiles using
CMake-GUI and disable pthreads in gtest. (Note: MinGW doesn't provide
Linux or Unix system calls or a POSIX emulation layer)
For VS2012, set _VARIADIC_MAX=10, choose STLPort or not.
NOTE: not support -std=c++11 on Cygwin and MinGW.
Support c++11

Not only add -U__STRICT_ANSI__ to gtest, also to tests project.
Fixed CMakeLists Bug
Auto find sample cpp
Merge branch 'master' into gtest

Conflicts:
	common/stlport/inc/type_traits
	misc/setup.hpp
	samples/CMakeLists.txt
	samples/allocator.cpp
	test/CMakeLists.txt
Add allocator test file
add CSAPP chapter 1
Merge branch 'master' into gtest

Conflicts:
	test/allocator.cpp
Add google_test sample
Version 0.2
Merge branch 'gtest'