Adding FileRangeBuilder utility functions.

These allow the user to avoid duplicating 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 uses its own file range
parameters when they are available, and pulls from the ImageMesh when
they are not.

@aeslaughter

Refs #3976.