padding for max pooling

Max pooling pads by -inf if the padding parameter is set.

Padding for pooling, like padding for convolution, can preserve the
dimensions of the bottom at the top. By setting the padding to
floor(kernel_size / 2) the top output is the "same" instead of the
"valid" part of the bottom input.
check the last pooling in padding and add padded max pooling test

[Adapted from a commit by @jeffdonahue by @shelhamer.]