use multiWorker for actionHero task system

This PR moves actionhero's underlying task workers to be a single auto-scaling node-resque [`multiWorker`](https://github.com/taskrabbit/node-resque#multi-worker), rather than many instances of node-resque workers.  

From node-resque:

> node-resque provides a wrapper around the worker object which will auto-scale the number of resque workers. This will process more than one job at a time as long as there is idle CPU within the event loop. For example, if you have a slow job that sends email via SMTP (with low rendering overhead), we can process many jobs at a time, but if you have a math-heavy operation, we'll stick to 1. The multiWorker handles this by spawngning more and more node-resque workers and managing the pool.

This changes (but simplifies) the configuration options for the task system to be: 
```javascript
exports.default = { 
  tasks: function(api){
    return {
      // Should this node run a scheduler to promote delayed tasks?
      scheduler: false,
      // what queues should the workers work?
      queues: ['*'],
      // how long to sleep between jobs / scheduler checks
      timeout: 5000,
      // at minimum, how many parallel taskProcessors should this node spawn?
      // (have number > 0 to enable, and < 1 to disable)
      minTaskProcessors: 0,
      // at maximum, how many parallel taskProcessors should this node spawn?
      maxTaskProcessors: 0,
      // how often should we check the event loop to spawn more workers?
      checkTimeout: 500,
      // how many ms would constitue an event loop delay to hald worker spawning?
      maxEventLoopDelay: 5,
      // What redis server should we connect to for tasks / delayed jobs?
      redis: api.config.redis
    }
  }
}
```