daemon: Also store name, color, and avatar in dashboard configuration

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Update shell.hosts to new dashboard configuration storage

This takes color and avatar directly from the dashboard configuration,
and uses the name in the dashboard configuration as a cache for the
pretty name of the target host.

Also allow setting of the pretty name via shell.hosts.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: New shell.image_editor

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Server appearance edit dialog for dashboard

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Styling for multi-server dashboard list

Reviewed-by: Stef Walter <stefw@redhat.com>
daemon: Remove support for local avatars

Closes #1467
Reviewed-by: Stef Walter <stefw@redhat.com>
base: Don't recompile or list jquery.min.js

We have a global rule which does this for .min.js files, but make
this one an exception.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Automatically register jQuery as an AMD module

If jQuery didn't get a chance to register itself as an AMD module
because it loaded before cockpit.js, we do so on its behalf.

Closes #1526
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Fix double free in cockpit_channel_ready()

For base64 channels we were freeing the decoded payload twice.

Closes #1515
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
bridge: Allocate enough space for base64 data

Follow the GLib documentation guidelines for allocating enough
space for base64 encoded/decoded data.

Closes #1516
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
tools: Fix make-rpms on recent Fedora 21

There's a lot of default output on Fedora 21 by default, and this
completely breaks make-rpms. Add --quiet to make-rpms to fix this.

Closes #1527
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell, NM model: Remove unused functions

Namely, refresh_all_devices and refresh_object_properties.

Closes #1532
Reviewed-by: Stef Walter <stefw@redhat.com>
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
bridge: More robust parsing of channel options

The parsing of channel options was quite haphazard, and didn't
detect bad types for values, etc. This is more verbose, but it's more
failure proof and produces better diagnostic messages.
bridge: Better diagnostics for file read/write failures

In the file read/replace channels, put some context in the messages
so we can have a clue as to what's causing it. Previously we had:

cockpit-bridge-Message: /tmp/.V3DRPX/foo: Bad file descriptor
bridge, ws: An empty "problem" in a "close" message is a problem

A missing "problem" is a success. If the "problem" is present no matter
what it's content, then that denotes a problem.
bridge, base ws: Add the "eof" control message and change "close"

The new "eof" control message indicates the end of data in a channel
in a particular direction. It is relevant together with specific
payloads and affects their behavior. It may only be sent once per
direction, and after that point no more messages may be sent in
that direction.

The "eof" provides handshake interlocking for the success case for
payloads where this is necessary.

There is also no longer a "close" handshake. Either end can "close"
a channel, and the channel is considered closed immediately. In the
case of races, further messages are ignored.
common: Fix uninitialized memory access in CockpitTransport

Closes #1531