let job_grab set a CONNECT_PASSWORD

to make this easier I define an empty job setting when the job is
created and overwrite it on job_grab, so we don't reuse it
refactor worker script slightly to avoid a 600 lines main function

Also tweak the code a bit to survive openQA misbehaving - just sleep and
start from scratch (issue#4604)
set job to done if basic setup fails

(I'm trying to make the developer setup a little bit more coolo proof :)