lib/app: make App::setup public

So clients can call it if they do not want to rely on the default main
method

Signed-off-by: Jean Privat <jean@pryen.org>
shoot: fix usage of the new App framework

#479 did the job poorly

Signed-off-by: Jean Privat <jean@pryen.org>
shoot: use `app_name` and `app_version`

Signed-off-by: Jean Privat <jean@pryen.org>