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_"
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
SplitLayer: change Reshape(n,h,c,w) to ReshapeLike(...)
HDF5DataLayer outputs according to HDF5 dims
DataLayer outputs 1D labels
MemoryDataLayer outputs 1D labels
ImageDataLayer outputs 1D labels
WindowDataLayer outputs 1D labels