Dynamic scene fixes

This pull is a little all over the place, since most of the changes were in response to an ongoing project.  If people want me to, I can break it into smaller changes, but I didn't want to waste time doing it unless someone asks for it.

1 .All data sources must now implement `DataSource.getName`, which returns a user-readable name for the data source.
2. Added the ability to use `Array` and `JulianDate` objects as custom CZML properties.
3. Added `DynamicObject.name` and corresponding CZML support.  This is a non-unique, user-readable name for the object.
4. Added `DynamicObject.parent` and corresponding CZML support.  This allows for `DataSource` objects to present data hierarchically.
5. Added `DynamicPoint.scaleByDistance` to control minimum/maximum point size based on distance from the camera.
6. Added utility function `getFilenameFromUri`, which given a URI with or without query parameters, returns the last segment of the URL.
7. The `document` object is no longer part of the `DynamicObjectCollection` generated by the `CzmlDataSource`.  Instead, all of that information is simply exposed via the `CzmlDataSource` interface.