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 3 CHECK instructions.
Merge branch 'fix_image_data_layer_segfault' of https://github.com/schenker/caffe into fix_image_data_layer_segfault