Fix thread-safety issue in vtkImageData::GetDimensions()

This fixes a thread-safety issue in the vtkImageData::GetDimensions()
method. The thread-safe version (which takes a pointer to the output
array) was calling the non-thread-safe version causing both to not be
thread safe. The calculation of the dimensions was moved to the thread-
safe version so it can now be reliably called from multiple threds.

Change-Id: I156d6e196c5b7a0ab4654941a646dfad4e4cfefe
Change vtkVolumeMapper to use thread-safe GetDimensions()

This changes the ConvertCroppingRegionPlanesToVoxels() method in
the vtkVolumeMapper class to use the thread-safe version of the
GetDimensions() method in the vtkImageData class.

Change-Id: Ieeffe7bc79e4023859cfd38d0469bf6521bb8252
Fix thread-safety issue in vtkInformationVector

This changes the SetNumberOfInformationObjects() method in the
vtkInformationVector class to only set the number of information
objects if it is different from the current number of objects.

This fixes an issue in which multiple threads calling the
vtkExecutive::GetOutputInfomation() method would result in
SetNumberOfInformationObjects() being called simultaneously.

Change-Id: Ib39818d163ffa514308c72489cfaa2dcac9cd7fa
Merge topic 'fix-threading-issues' into master

e4a793c4 Fix thread-safety issue in vtkInformationVector
79ce76e7 Change vtkVolumeMapper to use thread-safe GetDimensions()
4345f286 Fix thread-safety issue in vtkImageData::GetDimensions()