bridge: Add fsread1, fswrite1, fswatch1, and fsdir1 payload types

Closes #1513
Reviewed-by: Stef Walter <stefw@redhat.com>
bridge: Only do base64 decoding in one place in CockpitChannel

There's no need to do this in two places.
bridge: Add a prepare vfunc to CockpitChannel

The queueing of cockpit_channel_ready() and cockpit_channel_close()
was too magical and causing too much complexity.
bridge: When we receive clean close before ready, don't close yet

When we received data or a clean close before the channel is ready
don't close prematurely. Make sure all the data is drained, and
then do the clean close.
bridge: CockpitChannel "disconnected" when transport closes

The CockpitChannel closes unsuccessfully when the transport
closes. This lets implementations react immediately, even if the
transport closes without error.

Closes #1518