Graceful shutdown

Hi,

I've made graceful shutdown functionality.
The implementation is simple: Queue object collects all of it's workers, and then, when ```.shutdown()``` method is called, it propagates to all of them, and wait until all workers will done their current jobs (if there's some jobs in progress).

Also, added ```worker.running``` property to workers, to avoid new jobs pulling when shutting down. And ```worker.job`` which points to current job in progress, to determine whether the worker is free or not.

To shutdown Kue object gracefully, simply use the following api:

```javascript
var jobs = kue.createQueue();

// .. create jobs here

jobs.shutdown(function(err){
   // Kue is down
})
```

Closes #57