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
fixed style errors
added gradient check for non-square pooling
Merge pull request #614 from ronghanghu/rectangular_pooling

Rectangular pooling
Don't make clean when running linecount
Merge pull request #647 from jeffdonahue/nocleanlinecount

Don't make clean when running linecount
Dump compiler warnings to *.warnings.txt; use "make warn" to print them
Output a lint report for every source file linted; use to lint
incrementally
Merge pull request #649 from jeffdonahue/warnlog

"make warn" to print compilation warnings; "make lint" runs incrementally