Adding ImageMesh class to phase_field module

This builds a mesh based on the size data from an image file specified by the user.

Remarks:
* This currently works for a single image in 2D, but could be extended
  to work on a stack of images in 3D.
* Can scale the 2D domain to a max dimension of 1, 'scale_to_one=true'.
* User can specify a cells_per_pixel value <= 1 to undersample the image.

@tonkmr, this is part of the work for computing boundary grain volumes.

Refs #3976.