Adding ImageMesh class which 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.

Refs #3976.
Merge pull request #3977 from jwpeterson/image_mesh

Adding ImageMesh class to phase_field module
Adding a test which reads into an elemental variable instead of a
nodal variable.

The elemental variable field looks a lot more like the original image
when you have 1 pixel/element.

[original](https://drive.google.com/file/d/0B9BK7pg8se_iU2xFS19aUVVPOGs/edit?usp=sharing)
[elemental](https://drive.google.com/file/d/0B9BK7pg8se_iOUNSUlpfM1RNZUE/edit?usp=sharing)
[nodal](https://drive.google.com/file/d/0B9BK7pg8se_ieEw2S25VUU15S2M/edit?usp=sharing)

Refs #3544.
Adding initial test of reading an image.
Misc. enhancements to NodalFloodCount.{C,h}

* Use MooseSharedPointers for the file handles.
* Avoid multiple lg(N) lookups of the file handle.
* User can now select whether the NodalFloodCount threshold check is a
  less-than or greater-than check. By default, it is less-than.
* Delete commented-out line.
* Add/clarify comments.
* Delete unnecessary curly braces.
* Rename variable.
The NodalFloodCount object now computes the sum of grain volumes for
grains which intersect the boundary.

* Get the list of all boundary node ids in NodalFloodCount.C
* Detect intersection with boundary
* Store whether or not a bubble intersects the boundary in the
  BubbleData object.
* Add up all bubble volumes which intersect the boundary.
* Sum up the boundary intersecting grain volumes in parallel.
Adding some results for different cells/pixel numbers.
The input file commit.

Eventually squash all input file updates into this commit.

* Use the new use_less_than_threshold_comparison
* Add CSV filename
  Current order of data is:
  timestep, time, volume-of-bubble-1, volume-of-bubble-2, ...
* Use new ImageMesh type
* It appears we do need execute_on='TIMESTEP' for the
  NodalFloodCountAux to show something.
* Add ProcessorIDAux.
Remove old comment.
Make the _total_volume_intersecting_boundary array a class variable.
Scale boundary intersecting volume before printing.