Blobs are ND tensors instead of 4D arrays.

vector<int> shape_ instead of (num, channels, height, width).
InnerProductLayer weights are 2D; biases are 1D (incompatible w/ old
saved nets?)
LossLayer output is 1D
EltwiseLayer need not assume old 4D dim names
FlattenLayer: generalized Blob dims
common_layers.hpp: remove unused "Blob col_bob_"
ConcatLayer: generalized Blob dims
TestConcatLayer: fix style errors
TestConcatLayer: add forward/gradient tests for concatenation along num
ConcatLayer: generalized Blob dims
SliceLayer: generalized Blob dims
SoftmaxLayer: generalized Blob dims