ENH: Maurer for Danielsson in Surface Distance.

In the surface distance filters replace the Danielsson distance map
filter with the Maurer distance map filter, to reduce computation
time.

In the previous patch, two tests were failing that have now been fixed
in this patch. The failure was *not* due to a difference in the
Danielsson and Maurer distance map calculations: these filters appear
to output the same distance maps. There were two reasons why the
tests were failing.

itkSignedMaurerDistanceMapImageFilterTest3 was failing because
SetUseImageSpacing was turned on in the patch whereas it was turned
off previously. This test operates on an image that has image spacing
of 0.26 in both dimensions. Since turning the image spacing on is the
"correct" thing to do, this patch includes a new baseline resulting
from image spacing turned on. The previous patch did not affect the
other two Maurer tests because they operated on images that had a
spacing of 1.

itkHausdorffDistanceImageFilterTest was failing because of a change in
itkDirectedHausdorffDistanceImageFilter.hxx. That filter changed from
using *unsigned* Danielsson to *signed* Maurer distance transforms.
The error resulted from the average Hausdorff distance calculation,
which previously averaged 0 values when regions were overlapping
(because it was using an unsigned distance) but was changed to average
negative values (because it was using a signed distance). This has
been corrected by setting negative distance values to 0 in the
averaging computation. The documentation has been updated to describe
this averaging computation.

This patch addresses the JIRA ticket:
https://itk.icts.uiowa.edu/jira/browse/ITK-3011

Change-Id: I26e0881b32a654a6dcb617ebe9cfa5d3a6905ad6
ENH: Added m_RequiredFractionOfOverlappingPixels to MaskedFFTNCC

Added an argument to the Masked FFT NCC algorithm that enables the user
to specify the m_RequiredFractionOfOverlappingPixels.  This provides an
intuitive way for the user to remove noise pixels on the border of the
correlation image.
It is also robust to changing image sizes because it enables
calculation of the numberOfRequiredOverlappingPixels relative to the
maximumNumberOfOverlappingPixels, which is calculated by the filter.
For example, the user can generally set the argument to 0.1 for most
applications since this will remove the pixels that overlap by 10% or
less of the maximum overlap.
This is also particularly important for odd-shaped masks, where it
becomes difficult for the user to know beforehand how many pixels will
overlap during the correlation process.

The filter header file contains detailed description of the new argument.

Updated tests are provided that use the new
m_RequiredFractionOfOverlappingPixels argument.

Change-Id: Ifbf4ebcc43d49e59040b17140c388199449e01a8
Merge topic 'PerfSamplePicking'

cb8f280 ENH: Maurer for Danielsson in Surface Distance.
PERF: Adding performance oriented ScanlineIterator

Adding a new iterator without a conditional in the operator++, to
create an inner loop without branching to improve performance.

Using the new iterator with an inner loop for an individual line and
an outer loop to advance through the lines, in the Functor based
filters.

This has resulted in a 2x-3x speed up for single threaded execution of
128^3 images in filters such as CastImageFilter and
AddImageFilter. Close to 100 functor based image filters exist in ITK
all should benefit from this change.

Since the ImageRegionIterator was removed from the UnaryImageFilter,
a missing header needed to be added in a couple places.

Change-Id: I83f7f0753a271389d8bfae2eda8d6ad1848510c4
COMP: Remove copy_n wrapper for standard std::copy

This patch address VS2010 not compiling from error in
itkStdAlgorithm.h.

While the interface of std::copy_n is close to how we are using it,
the maintenance and burden of creating C++x11 wrappers should be
avoided. So the usage of itk::algorithm::copy_n has been replaced with
std::copy.

Change-Id: I4cb2aefc759c6dabfea5f455b6f93a0f8a798921
Merge topic 'Repleace_copy_n_with_copy'

e4369d9 COMP: Remove copy_n wrapper for standard std::copy
Merge topic 'MaskedFFTNCCEnhancements'

1d44a59 ENH: Added m_RequiredFractionOfOverlappingPixels to MaskedFFTNCC
COMP: Remove copy_n wrapper for standard std::copy

A previous patch failed to remove copy_n in
Modules/Compatibility/Deprecated/src/itkDICOMImageIO2.cxx

Change-Id: I34a98db89afbbb2277f4b000d6bf4482c37b5b18
Merge topic 'Replace_copy_n_with_copy'

4204b80 COMP: Remove copy_n wrapper for standard std::copy
Merge topic 'ScanlineIterator'

ab29cc5 PERF: Adding performance oriented ScanlineIterator