ENH: Enable MetaIO to read filenames with spaces using regex

This patch enables the reading of files with spaces in the names using
MetaIO with regular expressions.  This is useful for reading lists of
2D images into ITK as a volume with metaImage .mhd files to specify
the header information.  Previously, the MetaIO regular expression
functionality could not handle images that have spaces in the names.
Thus the only option was to use "LIST", which does work with files
that have spaces in the names, but this becomes cumbersome when
reading large numbers of images or changing the grouping of images
that are read.  Since filenames with spaces are legal when they are in
a LIST, this should also be possible when using a regular expression.

For example, the changes in this patch now enable the reading of the
first 90 slices of a series using the following syntax:
ElementDataFile = B - 2(fld 1 z %02d).tif 1 90 1

The implemented solution does not affect any backward compatibility.
Instead of changing the metaUtils.cxx code, we can just let it read
all arguments and separate them by spaces.  In metaImage.cxx, when
considering regular expressions (by searching for "%") there are
already checks for how many arguments are extracted.  This code
expects between 1 and 4 arguments representing filename, minV, maxV,
and stepV.  If the number of arguments is less than 4, it provides
defaults for the remaining arguments.  I added one more check to this
code to determine whether there are more than 4 arguments; in this
case, it means that the filename has spaces and those spaces need to
be joined back together into the correct filename.  This requires that
the user always provide the three optional minV, maxV, and stepV
arguments when using a filename that has spaces.  To avoid errors in
the case that the user uses filenames with spaces but forgets to
supply all three arguments, the code checks that the last three parsed
values are numbers.

Four tests are provided on very small (6*6*6 UCHAR) volumes
constructed with lists of tif images.  Two tests use the "LIST"
argument applied to files without spaces and files with spaces, and
both of these tests would have passed previously.  The other two tests
use regular expressions applied to files without spaces and files with
spaces.  The first of these would have passed previously.  But the
regular expression applied to files with spaces in the names did not
pass without the changes in this patch.  Now all of these tests pass.
All of the test outputs are compared against a very small (6*6*6
UCHAR) baseline volume stored as a raw file with an mhd header.

Change-Id: I0af650c96485b6ef9a2d62eba0229b377d11373f
Merge topic 'MetaIOWithFilenameSpaces'

9d0d14d ENH: Enable MetaIO to read filenames with spaces using regex