shell: Fix race loading the user name from cockpit.user

This function may be called after the the changed event has been
fired. We should update the user name when we're starting up in
case it's valid.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Add a package listing API to cockpit.packages

This returns a list of all the packages, possibly expanded.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Less noise when running test-packages.html test

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Implement tools menu, and dynamically add tools to it

These tools are listed in the manifest.json files. Make the terminal
such a tool.

Closes #1474
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>