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
Thanks for catching that. I think we should simply make sure the handlers for the manually added channels run first. I'll do this with proper use of g_signal_connect_after() and friends.