Add Entity support for box geometry

Still needs cleanup and tests.
Specs for BoxGraphics and BoxGeometryUpdater.
Compute size of color array for polyline geometry instead of concating many arrays.
Minor temporary object creation in SimplePolylineGeometry. Mostly code clean up.
Compute the exact number of points on the ellipse boundary where it could have been an overestimate.
Compute the number of ellipse outline positions up front and index into array.
Clean up dynamic geometry updaters

The dynamic geometry updaters in the DataSource layer did not have
the same semantics as the rest of the visualizations system.  Mainly,
an undefined value would cause Cesium to crash instead of simply not
rendering an object.  This change uses the newer Property.get helper
functions in order to both clean up the code and follow the same rules.

Fixes #2252
Clean up ellipse index computation.
Use removeAndDestroy in ModelVisualizer.
Merge branch 'geometry-updater-cleanup' into entity-box
Make removeAndDestroy return value consistent with remove
Clean up.
Merge pull request #2330 from AnalyticalGraphicsInc/geometry-updater-cleanup

Clean up dynamic geometry updaters
Merge remote-tracking branch 'origin/master' into entity-box
Test against epsilon value instead of comparing to zero in CesiumMath.zeroToTwoPi.
Also make new test use epsilon test.
Merge pull request #2332 from AnalyticalGraphicsInc/zeroToTwoPi

CesiumMath.zeroToTwoPi
Corridor support for DataSources

Still needs tests and cleanup.
CorridorGraphics specs.
Fix JSdoc type.