Adding in functionality to allow inserting vtkNew objects into
stl containers of vtkSmartPointer objects as well as comparisons
between vtkNew objects and raw pointers. Also removing Get() and
GetPointer() calls from vtkNew objects since in most instances we
can just pass in the vtkNew<> object instead of having to use the
Get() or GetPointer() methods to get the raw pointer.

This is a fix for:
vtk/vtk#14310
Windows applications that run for a long time report that rendered
objects do not change. This is because the modified time on a Windows
system is 32 bits. This causes overflows that defeat the modified time
mechanism. This patch defines a new type, vtkMTimeType that is 64
unsigned integer regardless of the architecture.
A mechanism to provide backward compatibility is introduced. The
preprocessor define "VTK_HAS_MTIME_TYPE" can be used in applications
that must build against VTK versions that use the "unsigned long" type
for MTime's.
Methodology used to find MTime occurences:
1) Identify files as follows:
git grep "unsigned long" | grep ime | cut -d":" -f1,1 | sort | uniq
2) Hand edit each of those files replacing "unsigned long" with
"vtkMTimeType" where appropriate.
3) Temporarily change typedef for vtkMTimeType to "double" to detect
missing conversions

- Removing vtkSelectionLink in favor of vtkAnnotationLink.
- vtkAnnotationLayers now has a special "current" annotation.
This annotation is used to store the current selection.
- Updating lots of places that used the selection link to now
use the annotation link.
- Removing obsolete classes vtkGeoLineRepresentation (replaced by
vtkRenderedSurfaceRepresentation) vtkTreeLayoutView (all functionality
is in vtkGraphLayoutView) vtkSurfaceRepresentation (replaced by
vtkRenderedSurfaceRepresentation).
- The cache in the representation is now cleared when the ReleaseData
flag is set in the pipeline.
- Fixed warnings when selecting in empty graph view.
- Fixed texture unit warnings in geoview.
- Move selection type from view to representation.
- Fixing geoview bug where nothing is rendered on the first render.
We need to render once to initialize the graphics context, then
'really' render the first time.
- Need Render() to create render window in examples.

ENH: Now using an instance of vtkDataSetAttributes (RowData) in vtkTable to store table columns. All code referencing the FieldData needed to be changed to use RowData. vtkAlgorithm's SetInputArrayToProcess, vtkTableReader/Writer, and vtkSelection's field type, needed to be updated to handle row data.