Fix bug, improve parameters management, allow to wait job end in a blocking way

Hi,

I have fixed a bug : when the rundeck only has one project it was crashing (see : 549bf8e)
I have also added capacity to give a hash with parameter_name -> parameter_value to the job.execute! method,
and finally i added a execution.wait_end(interval, timeout), to allow to wait end of job in code (it was useful in my case).
There's a bit of reinventing the wheel, here. May I suggest using `Timeout::timeout` for the timeouts and `Benchmark.measure` for getting the execution clock time? The clock time is in the `total` field of the returned `Tms` object.