lint and make compilable (using static_cast's found a couple bugs at
compile time)
remove commented out code
mask should be const in backward pass
bugfix: setting count to the top count in backward doesn't process all
of the bottom (assuming the bottom is larger, which happens for
nontrivial poolsize>1)
use a Blob<int> instead of a SyncedMemory to store max_idx_
no need to typecast with Blob<int>
make a Blob<unsigned int> and use in dropout layer
optionally output the mask to a top blob instead of storing internally