base: Closing channel without problem does not close immediately

When closing a channel we send a request to bridge to close the
channel. However we also short circuit the close, so that we aren't
waiting for an unresponsive bridge.

This short circuit shouldn't happen when the channel is closed without
a problem.

Closing a channel without a problem is used to indicate end-of-input
to channels like 'stream'.

Closes #1506