cockpit: Split CockpitPipe out of CockpitFdTransport

In later commits we need to use the queuing and writing to a file
descriptor functionality that's inside of CockpitFdTransport.

Split CockpitFdTransport into CockpitPipe (which contains the base
queeing and writing to a file descriptor and optionally tracking
a subprocess) and CockpitPipeTransport which contains the
CockpitTransport logic.

Renamed to use the naming 'pipe' as it's clearer what this is.
Similar to a unix pipe or pipe(), talking to file descriptors.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
agent: Add a new CockpitChannel class

This class is the base class for channel server (ie: agent)
implementations.

Turn dbus-server.c into CockpitDBusJson which derives from
CockpitChannel.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>