Miscellaneous changes ahead of geometry refactor.

In order to make #1560 easier to review, this is a handful of simple changes I made elsewhere in the code.

1. Make BoundingSphere implement Packable
2. Add some contructor helper methods to ComponentDataType.
3. Remove unecessary memory allocation in EllipsoidTangentPlane & CzmlDataSource
4. Add a new function, `subdivideArray` for splitting an array into N equal parts.
5. Minor change to DynamicModelVisualizer to avoid paying the ES5 property penalty (until the visualizer is rewritten).

I don't think any of this warranted an update to CHANGES.
Add pragma and doc.
Use toThrowdeveloperError instead of toThrow
Merge pull request #1570 from AnalyticalGraphicsInc/primitive-prologue

Miscellaneous changes ahead of geometry refactor.