cmake build system
examples CMake lists
customize compiler setting in Makefile.config

in case of issues with default compilers or exotic platforms.
Update caffe.proto

Add pad_h, pad_w, kernel_size_h, kernel_size_w, stride_h, stride_w to support pooling on rectangle regions.
Update vision_layers.hpp

Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions.
Update pooling_layer.cpp

Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions.
Update pooling_layer.cu

Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions.
fixing pooling SetUp() to allow default values for stride and pad
add tests for rectangular pooling regions
Merge pull request #611 from shelhamer/makefile-config-cxx

Customize compiler setting in Makefile.config
qMerge branch 'cmake' of https://github.com/BVLC/caffe into bhack_dev
fixed style errors
added gradient check for non-square pooling
Merge pull request #614 from ronghanghu/rectangular_pooling

Rectangular pooling
Merge branch 'dev' of https://github.com/BVLC/caffe into bhack_dev