WebGL Globe JSON DataSource

1. Add a simple DataSource for WebGL Globe JSON.
2. Make geojson files use `.geojson` extension.
3. Add Sandcastle example.
Merge remote-tracking branch 'origin/master' into webGL-globe-json
Move WebGLGlobeDataSource into a Sandcastle example

WebGLGlobeDataSource is not popular enough to be part of core Cesium
but is simple enough that it makes a good instructional class.  All of the
code has been moved into a `CustomDataSource` Sandcastle example which
will be linked to and from a website tutorial.
Merge remote-tracking branch 'origin/master' into webGL-globe-json

Conflicts:
	Apps/SampleData/ne_110m_lakes.geojson
	Apps/SampleData/ne_110m_land_topo.geojson
	Apps/Sandcastle/gallery/GeoJSON and TopoJSON.html
Fix filename.
Merge remote-tracking branch 'origin/master' into webGL-globe-json

Conflicts:
	Apps/Sandcastle/gallery/GeoJSON and TopoJSON.html
Add missing documentation for material properties.
Fix GeometryVisualizer material batching when the material in an existing batch changes.

Fixes #1974
Merge remote-tracking branch 'origin/master' into webGL-globe-json
Add additional comments to custom data source example.
Rename file for clarity.
Changes after review.
More changes after review.
Fix whitespace, typo, and fix startup code.
Changes after review.

Improve visualizer performance by inlining functions that the optimizer does not seem to do itself.
Merge remote-tracking branch 'origin/master' into webGL-globe-json
Add support for more spec-conforming TMS tilers.
Merge remote-tracking branch 'origin/master' into webGL-globe-json
Update Imagery Layers Manipulation demo to HTML5 sliders.
Add MIME mapping for .topojson and .gltf