Improve the performance of vtkDataArray::ComputeScalarRange.

Change-Id: I39b78cb5fa4f48ae296d343bab0cf41d63327f92
Improve the performance of vtkDataArray::ComputeVectorRange.

Change-Id: I62180c69f886253762e960c89daca9bdac09a2a9
Move all free functions in vtkDataArray into an anonymous namespace.

Change-Id: I2c367230cbeada8bee88d66a844e3d52722d4506
Update ComputeVectorRange based on gerrit feedback.

Change-Id: Ic3359a468a3d2cd43e99afe7de7caa25a6aeac58
Update DataArray and DataArrayTemplate to use vtkTypeTraits.

Change-Id: Iedc82b6cace892fa949f77d68a76d1aab8493e35
Correct ComputeScalarRange when dealing with multiple components.

Change-Id: I4e441300a189d9f0c7f41c26378b8c05429d54b1
Improve ComputeScalarRange when we have a single component.

The previous implementation made it really hard for compilers to optimize,
and notice it could use intrinsic operation for single component arrays.

In testing this takes the ComputeScalarRange on 600^3 from ~430 ms to ~20ms.

Change-Id: I778cd34adc8689279f4f9ec64d72598b1241f7c7
Merge topic 'faster_vtkDataArray' into master

87291c64 Improve ComputeScalarRange when we have a single component.
219b75b9 Correct ComputeScalarRange when dealing with multiple components.
074e1fe1 Update DataArray and DataArrayTemplate to use vtkTypeTraits.
a84e734b Update ComputeVectorRange based on gerrit feedback.
90289d7e Move all free functions in vtkDataArray into an anonymous namespace.
9f1773eb Improve the performance of vtkDataArray::ComputeVectorRange.
83b4764e Improve the performance of vtkDataArray::ComputeScalarRange.