Enable asynchronous geometry processing in DynamicScene.

1. GeometryVisualizer now creates static geometry asynchronously.
2. `Clock.canAnimate` was added to prevent the clock from advancing time even when `shouldAnimate` is true
3. Visualizers' update functions now return a boolean value indicating if it is okay to advance time.
4. `DataSourceDisplay.update` now returns false if any of the visualizer update calls return false.
5. The `Viewer` assigns `Clock.canAnimate` the result of `DataSourceDisplay.update`, which prevents time from animated if asynchronous geoemtry is processing.
6. `Viewer.allowDataSourcesToSuspendAnimation` was added to control this behavior in client apps.
Default allowDataSourcesToSuspendAnimation to true.
Update CHANGES.
Add missing documentation.
Add specs and fix problem uncovered by them.
Merge branch 'master' into dynamicScene-buffering

Conflicts:
	Source/DynamicScene/DataSourceDisplay.js
Merge remote-tracking branch 'origin/master' into dynamicScene-buffering
Changes after review.
Merge remote-tracking branch 'origin/master' into dynamicScene-buffering

Conflicts:
	Source/DynamicScene/StaticGeometryPerMaterialBatch.js
Fix typo.
Merge pull request #1617 from AnalyticalGraphicsInc/dynamicScene-buffering

Enable asynchronous geometry processing in DynamicScene