Chained otherwise never ends

When you chain 3 or more `.otherwise`s, i.e. `σ.otherwise(ρ).otherwise(τ)`, and `ρ` is the only nonempty stream, the resulting stream doesn't ever send any data.

This pull request so far just adds a failing test, I'm having a look at fixing it.