Start of DynamicScene refactor

Start adding `isConstant` property and `definitionChanged` Event to all `Property` objects.  Start migrating code to new DataSource directory.
Merge branch 'master' into dynamicScene-refactor
Ongoing property work.
Ongoing property work.
Ongoing property work.
Merge remote-tracking branch 'origin/master' into dynamicScene-refactor
Minor doc update.
Move properties back into DynamicScene for now.
Get rid of DynamicDirectionsProperty

It's no longer needed because it can be represented by standard properties.  The code processing the CZML now lives in CzmlDataSource.
Ongoing property work

1. Get rid of `DynamicVertexPositionsProperty` and role the CZML processing aspect of it into CzmlDataSource.
2. Add `PropertyArray` and `PositionPropertyArray`, which allow for time-dynamic array properties.
3. Temporarily add some code to ReferenceFrameProperty to support positions, this may be removed in favor of a separate ReferencePositionProperty.
Ongoing DynamicScene refactor

1. Add additional properties to DynamicEllipse, DynamicEllipsoid, and DynamicPolygon which will be used with new geometry code.
2. Tweaks to GeoJsonDataSource developers and minor CzmlDataSource cleanup.
Fix custom property used for CZML processing.
Temporarily remove DynamicEllipse visualization.

It will be re-implemented using Geometry & Appearances.
Merge remote-tracking branch 'origin/master' into dynamicScene-refactor
Everything old is new again

Start of a new approach to taking advantange of Geometry & Appearances in DynamicScene.  This manually ports some code from the abandoned dynamicScene-geometry branch and modifies it slightly for a new, cleaner approach.  This is just the first baby stem to the process and lots of things don't work yet.
Ellipse outline support

I also removed `outlineWidth` from various geometry options since it doesn't work on ANGLE devices and has batching limitations.

Still needs a lot of cleanup.
Ongoing geometry work

1. Rename a bunch of variables to make the code easier to follow
2. Avoids iterating over all attributes every frame by keeping a separate map of time-dynamic updaters.
Add support for geometry with materials

Still needs cleanup and ability to handle changed materials.
Add some really rough around the edges dynamic geometry support.
Add iniitial support for dynamic outlines.

Also fix some failing specs.