Replace initializer with HotSignal.infinite/finite
Detach all observers when a finite signal is done
Allow nil disposables even for infinite signals
Refactor HotSignal callers to use finite/infinite
Rename infinite/finite to “weak” and normal init
Reorganize existing HotSignal lifetime tests
Refactor HotSignal lifetime tests around new API