Fix the bug that BlockingObservable.singleOrDefault doesn't call unsubscribe

`BlockingObservable.singleOrDefault` doesn't call `unsubscribe` when throws `IllegalArgumentException("Sequence contains too many elements")`. `testSingleOrDefaultUnsubscribe` proves this bug.