Merge remote-tracking branch 'origin/issue1603' into visualizer-refactor

Conflicts:
	Source/DynamicScene/DataSourceDisplay.js
Factor out Visualizer interface

It turns out a `Visualizer` instance only needs `update` and `destroy` functions.  Also start cleaning up other visualizer to conform to the interface and remove uneeded cruft.
Add an offset to the grid material.
Merge remote-tracking branch 'origin/master' into grid-offset
CHANGES.md
Merge branch 'dataSource-refactor' into kml

Conflicts:
	Apps/CesiumViewer/CesiumViewer.js
	Source/Widgets/Viewer/viewerDragDropMixin.js
Merge branch 'master' into visualizer-refactor
Ongoing visualizer cleanup.
Cleanup Visualizer-related documentation.
Update CHANGES
Remove TODOs
Merge remote-tracking branch 'origin/master' into grid-offset
Changes after review.

Fix DynamicConeVisualizerUsingCustomSensor doc.
Use already obtained local variable in DynamicPointVisualizer.prototype.destroy
Remove unecessary if checks.
Merge remote-tracking branch 'origin/master' into visualizer-refactor
Changes after review.

1. Put back isDestroyed function.
2. Document Visualizer functions correctly.
Clean up whitespace.
Add back tests for isDestroy.
Fix indentation.
Merge pull request #1653 from AnalyticalGraphicsInc/visualizer-refactor

Visualizer cleanup
Fix typo in vertexPositions cartographicRadians processing

Also add unit tests.