It makes sense to read some values from environment. In particular this
feature is useful in case of running application in containers in ci/cd
See #108 for more details
This commit also extends configuration of the multilib option, adding
the ability to exlcude multilib repository from repositories list
Note, that in order to support repository list and mirror correctly,
alpm configuration section is now architectture specific
Some commands have been moved to another group and thus having another
default name (old subcommands are still available...for now):
* daemon -> repo-daemon
* key-import -> service-key-import
* repo-clean -> service-clean
* repo-config -> service-config
* repo-config-validate -> service-config-validate
* repo-setup -> service-setup
* repo-shell -> service-shell
* version -> help-version
This feature can be used for unauthorized access to apis - e.g. for
reporting service if it is run on the same machine. Since now it becomes
recommended way for the interprocess communication, thus some options
(e.g. creating user with as-service flag) are no longer available now
In current workflow you need to run setup to run init (because of
repository name), but you need to run init before setup (because of
repository tree rights).
New solution just add `Repo.init()` method call to setup subcommand
after config reload to make sure that repository name has been applied.
In addition chown method as well as setuid method for check_output have
been added.