Allow nil inner streams when flattening

After #941, we started hitting the assertion pretty frequently. The usual culprit was something like this:

```objc
[signal flattenMap:^(id _) {
    @strongify(self);
    return [self methodReturningASignal];
}];
```

Arguably, we should be more vigilant in checking for `nil`, but it's also a bit silly that returning `nil` doesn't do something sane. This makes `nil` behave like you returned an empty stream.