ENH: Use named inputs in BinaryReconstruction filters.

The named input ProcessObject functionality is put to use for the MarkerImage
and MaskImage in a backwards compatible way.

Change-Id: I7c252cc8afce3f627795aa1d8410328f61555610
STYLE: Remove redundant itk namespace.

Change-Id: I95194381f925477cb71119cc11e9a290bb5af124
BUG: Only thread 0 should report progress.

The progress update observer is frequently used to update GUI
progress. The progress should only be updated by the main thread,
otherwise this common uses will segfault with the gui update.

The LabelMapFilter was updated with a manual update to the filters
progress, additionally the abort status is also check.

Change-Id: I1540ee5785a26b196524f51ac604d3bfcd18d0b0
COMP: Replace memcpy calls with std::copy

There are (before this patch) 88 calls to memcpy
in the ITK source code. In nearly every case it
can be replaced with std::copy or std::copy_n.
These template functions preserves strict
C++ type checking, and use proper object copy semantics.

In tests done by various people (found by google search), most
implementations of std::copy perform as well or better than
memcpy, so there is no performance reason to stick with the
low level C function to copy data.

std::copy_n isn't apparently supported by all compilers &
STL implementations (though it's part of TR1 & C++11), so
a compile test is added for copy_n and an implementation of
it (based on std::copy) for the case of copy_n being unavailable

Change-Id: Ica4423e348973f81eabffb548aa7f383f7ba2831
Merge topic 'ReplaceMemcpyWStdCopy'

da5e1b3 COMP: Replace memcpy calls with std::copy
Merge topic 'BinaryReconstructionThreadSafety'

7d1b1b2 STYLE: Remove redundant itk namespace.
285f3ac ENH: Use named inputs in BinaryReconstruction filters.
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
Merge topic 'LabelMapOnlyMainThreadReport2'

1d5dfb2 BUG: Only thread 0 should report progress.