Adding an ImageFunction 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.
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.
Adding test computing boundary-intersecting volumes.

Eventually squash all input file/test 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.
Output the boundary-intersecting volume to the CSV file.
Delete boundary-intersecting volume print statement.