Add CHECKs to prevent segfault for incorrect IMAGE_DATA layers.

Incomplete IMAGE_DATA layers cause a segmentation fault, e.g.:

layers {
  name: "mnist"
  type: IMAGE_DATA
  top: "data"
  top: "label"
  image_data_param {
    batch_size: 100
  }
  include: { phase: TRAIN }
}

or

layers {
  name: "mnist"
  type: IMAGE_DATA
  top: "data"
  top: "label"
  data_param {
    source: "./data/train.txt"
    batch_size: 100
  }
  include: { phase: TRAIN }
}

Also empty image list files cause a segfault.
This is fixed by adding 2 CHECK instructions to ImageDataLayer::DataLayerSetUp()
how about a `CHECK_GT(source.size(), 0)`?  Leaving it unspecified seems like the most common error mode so it would be good to have an error message specifically for that case.