Tests: Wait for things to settle after hotplugging a disk.

Otherwise we might open a "Create Raid" dialog before the Block nodes
point back to their Drive nodes.

Reviewed-by: Stef Walter <stefw@redhat.com>
Build: Ignore more build products.

Reviewed-by: Stef Walter <stefw@redhat.com>
doc: Document updated protocol with channels

Before implementing it.
ws: Split out mock dbus service into into its own file

I'd like to use it from other tests
ws: Implement a unit test case for dbus-server.c

We want to start testing dbus-server.c directly, so build straightforward
test case for it that doesn't involve running javascript.
ws: Split out transport framing and io into CockpitTransport

An interface called CockpitTransport handles the high level
concept of sending messages to the various hosts/sessions that
we support.

CockpitFdTransport is a concrete implementation of this which
transfers data over file descriptors.

This simplifies CockpitWebsocket significantly, so that we
can expand it to handle multiple hosts/transports/channels
per WebSocket.
websocket: Allow basic message assembly during send

Our use of GBytes allows us to try to avoid excessive copies of large
amounts of payload data. This isn't always implemented, but it's possible
with this API.

One exception is how websocket messages are sent. We want to be able to
prefix messages simply without copying and reassembling the entire
message.

So add a @prefix argument to web_socket_conneciton_send().
ws: Start passing around channel numbers

We start passing around channel numbers before messages. As noted in
PROTOCOL.md these are decimal digits followed by a newline.
WIP dbus.js