Subscriptions returned by inner schedule() and added to innerSubscription should be removed when returned subscription is unsubscribed

Problem and solution as described by @akarnokd:

"The Subscription returned by the scheduling remains in the innerSubscriptions when it is unsubscribed as the body is most likely never executes. This can happen in operator throttle where timeout actions are routinely cancelled by the arrival of a value. The solution would be to return a custom Subscription which calls innerSubscription.remove() as that will take care of the composite and the cancellation of the schedule as well."