Viewer should not destroy user-specified DataSourceCollection

When `Viewer` is destroyed, it should only destroy its `DataSourceCollection`
if it created it.  A user-supplied `DataSourceCollection` is owned by the caller and it is up to them to destroy it.

No `CHANGES.md` mention necessary here since it is fixing a bug in a feature that was not yet released.