Hide ChainedSubscription/SubscriptionList from Public API

Instead of adding this type to the public API, it hides it as an internal implementation detail and does not expose it via the `Subscriber` constructor.

If we want to expose it later we can figure out a proper name and do so.

This also changes operator implementations to not inject a `SubscriptionList` but instead just create the `Subscriber` and use it directly.