Reshape single input batches for inputs of varying dimension

To feed inputs of varying dimension, the DATA layer reshapes its prefetch and top blobs when the batch size is 1. This is useful for models of variable input size, such as fully-convolutional models.

By the grace of #594 this is a simple change.
By they way you forgot to add `DecodeDatum(&datum);` just in case datum was encoded