use a Blob<int> instead of a SyncedMemory to store max_idx_
make a Blob<unsigned int> and use in dropout layer
optionally output the mask to a top blob instead of storing internally
add tests for maxpooling layer forward, and for maxpooling with top mask