No reason to have one random templated function defined in the header file.

Refs #3544.
Fix bug where SetOrigin() used xmin for all three components.

This may have worked because the only tests which used origin
explicitly set it themselves rather than getting it from the Mesh.

Refs #3544.
Removed an errant input file that I found in the stack directory.

Refs #3976.
Add 3D mesh generation capability to ImageMesh

The implementation is currently based on ImageFunction's, but we
accept slighly more irregular input without erroring out.  ImageMesh
will eventually provide the stack of filename strings to
ImageFunction, and thus ImageFunction will require an underlying
ImageMesh to work.  Note that ImageMesh still does not depend on VTK,
but it could if our simple 'file' command approach is found to be
insufficient.

Refs #3976.
Adding a test of 2D and 3D ImageMesh.
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.
Merge pull request #4132 from jwpeterson/image_mesh

Add 3D mesh generation capability to ImageMesh