Add `name` property to `DynamicObject` and support it in `CzmlDataSource`
Add `DataSource.getName` function.

1. Data sources now have a `getName` function so that they can be titled for the user.
2. Added utility `getFilenameFromUri` function which takes a url and returns the last segment; which is then used to determine a defualt name if none is provided to the data source.
3. Hooked up CzmlDataSource and GeoJsonDataSource to use new functionality.
Add specs for `getFilenameFromUri`.
Update changes.

Also fix DynamicObject.id documentation, it has always been required to be a string.
Merge branch 'master' into dynamicObject-name

Conflicts:
	CHANGES.md
Fix typo.
Make name a string instead of a property.  It can still change, but it is not time-dynamic.
Add initial parent object support to DynamicObject.
Don't use `ReferenceProperty` for parent because it overly complicates things and provides no real benefit.
Manually merge some changes from DataSourceBrowser branch.
Merge branch 'dynamicObject-name' into dynamicObject-parent

Conflicts:
	CHANGES.md
	Source/DynamicScene/CzmlDataSource.js
	Source/DynamicScene/DynamicObject.js
Merge branch 'master' into dynamicObject-name

Conflicts:
	CHANGES.md
Add back optional name property.
Merge branch 'master' into dynamicObject-name
Merge branch 'master' into dynamicObject-parent
Merge branch 'master' into dynamicObject-name

Conflicts:
	CHANGES.md
Merge branch 'dynamicObject-name' into dynamicObject-parent

Conflicts:
	Source/DynamicScene/CzmlDataSource.js
Add `parent` property to list of initial names.

Also make Events propagate in the order they are added.
Alleviate memory pressure in mergeNewSamples

There are probably more radical changes we can make if it still shows up at the top of the profiler.
Merge branch 'master' into dynamicScene-fixes

Conflicts:
	CHANGES.md