shell, NM model: Remove unused functions

Namely, refresh_all_devices and refresh_object_properties.

Closes #1532
Reviewed-by: Stef Walter <stefw@redhat.com>
base: Implement base64 encoding of binary data

This is a surprising omission from the ArrayBuffer and typed array
work. Very odd.

Implementation is a polyfill from MDN, and fixed up.

https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

Our implementation works with binary data in Array, Uint8Array or
Strings.
base: Implement support for binary message channels

These are created using the 'binary: true' cockpit.channel() flag,
which depending on browser support either becomes 'binary: base64'
encoded or 'binary: raw' when traversing the WebSocket and
web service.

It would have been really nice to define a separate WebSocket
subprocotol like 'cockpit1+binary' which we could have used relay
capabilities to the client. However older browsers like phantomjs
make such a mess of the protocol and protocols argument to the
WebSocket constructor.
base: Implement UTF8 encoding and decoding

We would like to use this with Arrays and not just strings like
decodeURIComponent() do. In addition we would like to stream and
possibly ignore encoding errors. In some browsers TextEncoder
and TextDecoder do some of this, but none of the solutions do
exactly what we need.
docker: A new package for docker stuff
base: More general name for console CSS styles
shell: Give AMD interim module loading its own global

If we hang these off of the shell global, then they start to
conflict with things that are already there.
docker: Add component that shows docker logs or console

And use this component in our main docker container details pages.
In addition document it for use outside of Cockpit.

Closes #1364
shell: Migrate networking code to dbus-json3

This is the first step to moving the Networking page into a component.

Closes #1511
bridge: Remove support for dbus-json2

It's no longer in use now that the networking code has been
migrated to dbus-json3

We also no longer need the CockpitFakeManager code since all of
the dbus-json1 callers are interacting directly with ObjectManager
based services.

Fixes #1388
shell: Don't rely on remove notifications for dissappearing NM objects

The dbus-json3 notify code is a lot less intense about aggressively
introspecting every object after every method call, which was a big
performance issue. So we have to know when stuff goes away and clean
it up ourselves.

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Updated commit message