Make $.when() support an array as the first argument.

I thing `$.when()` method can also support an array as it's first argument as `Promise.all()` does.

And then one can use this api like this:

``` javascript
$.when(q.map(getImg)).then(success);
```

here `q` is an array and `getImg()` method will return a `jQuery.Deferred` object.