Channel refactor

Refactor CockpitFdTransport into CockpitPipe and CockpitPipeTransport. In addition add a generic CockpitChannel class and refactor dbus-server.c to use that, which becomes CockpitDbusJson.

These are changes in advance of adding a new channel type ```text-stream```

CockpitPipe will be used by text-stream to queue and manage data to the unix socket that it connects to. CockpitChannel will be used as the base class for CockpitTextStream implementation.