ENH: VTK6 migration, add vtk6 into build system.

Added vtk6 to build system and give users a build option between vtk5 and vtk6.
ENH: VTK6 migration, removal of deprecated Macro.

The following two macros were deprecated in VTK 5.0 that were still supported, but have now been eliminated:
vtkTypeRevisionMacro has been replaced with vtkTypeMacro; vtkCxxRevisionMacro has been removed.
http://www.visitusers.org/index.php?title=VTK_6.0_Upgrade

The following two macros were deprecated in VTK 6.0 if VTK_LEGACY_REMOVE is on:
VTK_LARGE_INTEGER and VTK_LARGE_FLOAT
https://github.com/Kitware/VTK/blob/9a0fbb8da1a1701dc1b44c71467b969b3302efad/Common/Core/vtkType.h#L158-159
ENH: VTK6 migration, vtkFloatingPointType is replaced with double.

ref: http://review.source.kitware.com/#/t/1667/
ENH: VTK6 migration, replacement of SetInput().

Replacement of SetInput() with SetInputData() and SetInputConnection(), the same kind of functions include SetInput1(), SetInput2() and SetSource().
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Replacement_of_SetInput
ENH: VTK6 migration, removal of GetProducerPort().

1)Removal of GetProducerPort() from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_GetProducerPort
ENH: VTK6 migration, removal of Execute, vtkType deprecations.

1) vtkType deprecations
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/vtkType_deprecations
2) Removal of Execute
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Execute
ENH: VTK6 migration, removal of SetWholeExtent and update extent methods.

1) Removal of SetWholeExtent() from vtkDataObject
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_SetWholeExtent
2) WIP: Removal of Methods for Manipulating Update Extent
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Methods_for_Manipulating_Update_Extent
ENH: VTK6 migration, change to AllocateOutputData.

Change to AllocateOutputData() in vtkImageAlgorithm.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Change_to_AllocateOutputData
ENH: VTK6 migration, removal of CopyTypeSpecificInformation.

Removal of CopyInformation and CopyTypeSpecificInformation from vtkDataObject and vtkImageData.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_CopyInformation
ENH: VTK6 migration, removal of GetPipelineInformation.

Removal of GetPipelineInformation and GetExecutive from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_GetPipelineInformation
BUG: VTK6 migration, fixing VTK_xxx_VERSION.

VTK6 requires #include <vtkVersion.h> to use the VTK_xxx_VERSION preprocessor directives.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve
ENH: VTK6 migration, removal of manipulating update extent.

Removal of Methods for Manipulating Update Extent.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Methods_for_Manipulating_Update_Extent.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve.
ENH: VTK6 migration, changes to scalars manipulation functions

http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Changes_to_Scalars_Manipulation_Functions.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve.
ENH: VTK6 migration, removal of pipeline update methods.

Removal of Pipeline Update Methods from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Update
ENH: vtkzlib hack.