perf(internal): optimize Subscription#add() for the common case (#4489)
perf(internal): optimize Subscription#add() for the common case (#4489)

This removes unnecessary checks on the `teardown` parameter upfront, and
instead moves these checks into the appropriate branches guarded by the
type check. This way we get the same behavior, but with fewer checks and
smaller code size.

Also optimize adding the child `subscription` to `this._subscriptions`
for the common case that there were no previous subscriptions.
ReactiveX/rxjs,kwonoj/RxJS,kwonoj/RxJS,Brocco/RxJS,trxcllnt/RxJS,ReactiveX/RxJS,martinsik/rxjs,trxcllnt/RxJS,martinsik/rxjs,Brocco/RxJS,trxcllnt/RxJS,ReactiveX/RxJS,martinsik/rxjs,ReactiveX/RxJS,kwonoj/RxJS,Brocco/RxJS,Brocco/RxJS,ReactiveX/rxjs,benlesh/RxJS,ReactiveX/rxjs,benlesh/RxJS,ReactiveX/rxjs,benlesh/RxJS,kwonoj/RxJS,martinsik/rxjs,ReactiveX/RxJS,benlesh/RxJS,trxcllnt/RxJS