Added agenda.cancel funtion

I had a use case for cancelling jobs while they were scheduled, so I added a new method which does that. The syntax is the same as for `agenda.jobs`.

Really, this is just an atomic version of:

``` js
agenda.jobs({name: 'someJob'}, function(err, jobs) {
  jobs.forEach(function(job) {
    job.remove();
  }
}
```

Oh, and I also changed a couple of the array checks to be more consistent with ES5.