Fix SceneTransforms.wgs84ToWindowCoordinates for SCENE2D.
Fix ReferenceProperty circular event

Since ReferenceProperty registered for the changed event of the collection it is inside of,
it can generate a circular raiseEvent call that ultimately leads to a stack overflow.
We add a boolean to keep track of whether we raised the event we are in and ignore subsequent calls until we exit.
Add unit tests, fix scene.morphTo* to work with unit tests.
Use PolylineCollection for time-dynamic polylines

In order to keep feature parity between static and time-dynamic polylines,
PolylineGeometryUpdater was using PolylineGeometry to render lines that
were changing every frame.  Obviously this generated a lot of garbage and
would kill performance when using a lot of time-dynamic lines (like the d3
demo does).  In order to improve performance, I've updated the dynamic
lines to use PolylineCollection instead; which greatly improves performance.

The only feature PolylineGeometry has that PolylineCollection lacks is
per-vertex colors; but since the DataSource layer doesn't expose that feature
yet; this is okay for now.  Of course when we have dynamic buffers,
this problem should just go away.
Update README.md
Better fix for RefereceProperty event crash

The logic in `ReferenceProperty._onCollectionChanged` was wrong and would
clear it's data and raise it's changed event when any entity other than
the targetEntity was removed from the targetCollection.  This fix reverts
the previous change and inverts the logic so that it's correct.
Merge pull request #2034 from AnalyticalGraphicsInc/circular-events

Fix ReferenceProperty circular event
Changes after review

1. Add `Scene.id` property to uniquely identify a scene.
2. Use `Scene.id` to create one PolylineCollection per scene in `PolygonGeometryUpdater`.
3. Improve tests for dynamic polylines created by `PolygonGeometryUpdater`.
Merge remote-tracking branch 'origin/master' into faster-datasource-polylines

Conflicts:
	CHANGES.md
Grab National Map tweaks from the nm branch.
Add specs.
Update CHANGES.md.
reject with a RuntimeError instead of throwing DeveloperError.
Run formatter.
Merge pull request #2040 from AnalyticalGraphicsInc/tweaksFromNationalMap

Tweaks from National Map
Merge remote-tracking branch 'origin/master' into faster-datasource-polylines

Conflicts:
	CHANGES.md
Fix misspelling.
Merge pull request #2042 from PatMahoney/master

Label page - Fix typo.
Fix Matrix2 doc example.
Merge pull request #2045 from AnalyticalGraphicsInc/issue2043

Fix Matrix2 doc example.