Add optimization.cpp and timer class

1. #set ( CMAKE_VERBOSE_MAKEFILE ON ) or make VERBOSE=1 can see a noisy
output on Cgywin, including gcc compile options.
2. implemente timer for windows. Not test on Unix. this timer also using
windows.h on Cygwin.
nightly commit

1. -O3 option in gcc might do all the optimization in combine1~7.
2. /O2 or /Ox in VS is not good at combine1,2. The best is combine4.
3. Manual unroll in combine5~7 is Futile. Modern compiler will take over
it.
TODO: SEE optimization, test performance of manually casting float to
int in bits.
nightly commit

1. add intrinsics, which are functions built in to the compiler. (here
mainly refer intel SSE, SSE2, SSE3, SSE4, AVX, AVX2)
http://msdn.microsoft.com/en-us/library/26td21ds(v=vs.110).aspx
TODO: package intrinsics like glm. or refer to
http://blog.csdn.net/zyl910/article/details/8100744
ieee754, magic number conversion.
minor fix

numeric_limits is in limits, not climits on gcc
large-negative-integer-literals
minor error fixed on cygwin
Assembly inside
Learning MASM with __cdecl, __stdcall...
convert windows EOL to Unix format
commit from AWS, an amd64 ubuntu system.\n 512MB memory limit, no -mavx support, cmake 2.8.7
Add -march=native compiler flag
Merge branch 'nightly'