Fixing whitespace
Merge branch 'master' of https://github.com/rraval/simply-deferred into rraval-master
the zero argument case for when and added a test
Releasing v2.2
fixed an API incompatible `resolveWith` & `rejectWith`.

* resolveWith & rejectWith take `args` as an Array (See http://api.jquery.com/deferred.resolveWith/)
* resolveWith & rejectWith return a deferred object, not a Window object.

Try the following expressions on both of jQuery.Deferred &
simply-deferred 2.2.0:

    // 1. The return value
    //   jQuery.Deferred: Returns a deferred object.
    //   simply-deferred: Returns a Window object.
    $.Deferred().resolveWith();

    // 2. The arguments
    //   jQuery.Deferred: Prints ['a', 'b'].
    //   simply-deferred: Prints [['a', 'b']].
    var deferred = $.Deferred();
    deferred.promise().done(function() {
        console.log(arguments);
    });
    deferred.resolveWith(deferred, ['a', 'b']);
Added specs and corrected behaviour for resolve/rejectWith
Releasing 2.3 - changes in [resolve/reject]With behaviourt
Add failing test case for `.pipe()`

Current behaviour of `.pipe()` does not allow for a filter to change the
state of the master deferred by returning a deferred in a different
state. For example, the `doneFilter` cannot return a rejected deferred,
which would in turn reject the master deferred returned by `.pipe()`.

Relevant bit from jQuery documentation
(http://api.jquery.com/deferred.pipe/):

    These filter functions can return a new value to be passed along to the
    piped promise's done() or fail() callbacks, or they can return another
    observable object (Deferred, Promise, etc) which will pass its resolved
    / rejected status and values to the piped promise's callbacks.
Rewrite `.pipe()` for ab294cca9a03cb75e60bdf1fa70b9cd395be52f0
fix single argument optimization for `.when()`