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).
The idiomatic ruby way of doing this would be:
```ruby
@name = hash.is_a?(Array) ? hash[1] : hash['name']
```
even better would be:
```ruby
index = hash.is_a?(Array) ? 1 : 'name'
@name = hash[index]
```

and finally, the most rubyish way would be:
```ruby
@name = Hash[hash]['name']
```