Resource channel

This implements resource channels, cockpit modules, and exposes them via HTTP. Nothing has been migrated to use them yet.

See doc/urls.md and doc/modules.md for details on how this is implemented and works.

To test, you can do the following:

```
$ mkdir -p ~/.local/share/cockpit/mymodule
$ echo '{ "description": "My module" }' > ~/.local/share/cockpit/mymodule/manifest.json
```

And then authenticate with cockpit, in a second tab go to: http://localhost/res/localhost/mymodule/manifest.json
"stringified JSON object" is a bit weird.  I don't think we need to mention this explicitly.