Adding the FileRangeBuilder utility function.

This makes it so that the user does not have to duplicate input file
parameters that are shared between ImageMesh and ImageFunction.  This
also has the benefit of putting all the file range argument parsing
code in one place.

Refactored the ImageFunction so that it pulls parameters from the
ImageMesh when it is available, and parses its own otherwise.

@aeslaughter

Refs #3976.