BUG: Make all specializations NumericTrails::SetLength re-zero contents

The ITK container types' specializations of NumericTrails::SetLength
all unconditionally fill the passed object with zeros. This commit makes
that behavior consistent across all scalar and container types.

Change-Id: I267128ea4d6597b65051ec555409642058d650d2
ENH: 3048, 3224: Refactor *SampleFilters to fix multiple issues

Updated MeanSampleFilter and WeightedMeanSampleFilter to use Kahan
summation (implemented by CompensatedSummation) for additional numerical
accuracy, resolving bug #3048.

Code was refactored for a more logical layout and to have more correct
variable types. This fixes a warning in GCC4.7, resolving bug #3224.

Commit c6d83112 made Sample frequency values be integers, so the internal
variables holding frequency totals are no longer explicitly double, and
were changed to use the proper typedefs.

If WeightedMeanSampleFilter is called with a custom weighting function
that always returns 0, the filter will now throw an exception, whereas
previously it would complete without performing the division step of
mean calculation.

Change-Id: I1d245fe15f25bbcebf6bebdea6d5d784c8e464dc
ENH: Re-enable the array-bounds warnings for GCC 4.7

The issue causing these warnings was fixed by 585eeee0, and the
warning is quite useful.

Change-Id: Ib6659ef734d3a47e7c77086e70d37bffbb56e92b
Merge topic 'WeightedCovar-Warning'

b9ffd0b ENH: Re-enable the array-bounds warnings for GCC 4.7
585eeee ENH: 3048, 3224: Refactor *SampleFilters to fix multiple issues
6db723f BUG: Make all specializations NumericTrails::SetLength re-zero contents