add functions for #1586
Merge branch 'master' into cartesian3
update sandcastle
update CHANGES.md
fix documentation
CesiumWidget and Viewer improvements.
Update CHANGES.md.
Pass the timestamp to the pre- and post-render events.
Merge remote-tracking branch 'origin/master' into widgetAndViewerImprovements
Fix geometries without indices
Move render error events to Scene.

Also Viewer no longer has its own render loop, it just uses the one in
`CesiumWidget`.
Remove unnecessary public function.
Use spies instead of custom code.
Factor the render func into a separate func.

This way the try/catch won't disable optimization of the entire function.
Remove redundant assetions.
Improve documentation.
Merge pull request #1674 from AnalyticalGraphicsInc/widgetAndViewerImprovements

Widget and viewer improvements
If `node` is in the path, use that instead of the old bundled executables.

Fixes #1600.
Add ability to set target frame rate.
Merge pull request #1679 from AnalyticalGraphicsInc/preferSystemNode

If `node` is in the path, use that instead of the bundled executables