static: Separate the login and boot code from shell module

We use the environment to load the cockpit-web as a single module
called 'shell'. This uses a simple module code, which is not
expected to be used to used with the later module loading.

In order to test this particular code you'll need to run:

ln -s /path/to/cockpit/src/web ~/.local/share/cockpit/shell
shell: Move cockpit-web into it a module called 'shell'

And install it to the appropriate location.

Note that we use a different manifest.json (with a combined
cockpit.js) when installed. This lives in the modules/shell/release
subdir.  The manifest.json that's in the modules/shell directory is
used while debugging.
ws: Remove http roots option for cockpit-ws

This is no longer used or relevant. Our HTTP resources come
from either the static directory or modules
test: Update tests for new module loading

Closes #708