Dashboard: Store machine list permanently.

* The list is managed by cockpitd.
* There is a dedicated websocket to access it.
* The dashboard monitors this connection.
* If the connection is down, machine additions are stored locally in
  the browser, and written out when the connection comes back.