Improve cli and add 3 commands
This is needed to be able to add more context objects (see following revisions).
Added cli commands are runner, listener and api-server
These commands do what they say, ie. start a runner, listener or API server process.
Note that processes are not daemonized and run in front.
Typically used as:
swh-scheduler --cls local --database postgresql:///?service=swh api-server --host 127.0.0.1 --port 5008
swh-scheduler --cls remote --url http://127.0.0.1:5008 runner --period 10
swh-scheduler --cls remote --url http://127.0.0.1:5008 listener
Move the scheduler verification from the main cli group definition to subcommands
since it's actually the responsibility of each subcommand to decide whether it can run without a properly configured scheduler instance.
This is also required so the user can run:
swh-scheduler subcommand --help
even with a non-properly configured scheduler.
Also move logging configuration into the cli group function so that logging level config can be consistently set for all swh-scheduler commands.
Migrated from D887 (view on Phabricator)