Removed line about hotlinking off Github. No longer works.
Added collaboration section
Fixes #12. Checking if filters return a promise and resolving / rejecting it accordingly
Removed extra identifier
Merge pull request #13 from sudhirj/fix_12

Fixes #12. Checking if filters return a promise and resolving / rejectin...
Releasing 2.1.0
Soak up extraneous `promise()` calls

Matches jQuery's ability to do $.when().promise().promise()
`when` should pass through non deferred arguments

Supports the convenient shorthand of `$.when(arg)` for
`$.Deferred().resolve(arg).promise()` a la jQuery.
Special case single or no argument resolves in `when()`

Better match jQuery's behaviour:

    $.when($.Deferred().resolve(1), $.Deferred().resolve())
        .done(function() {
            console.log(arguments);
        });

Logs: [1, undefined]

This is particularly important to maintain consistency with the notion
that `$.when()` with non-promise arguments is a shorthand for
`$.Deferred().resolve()`. That is:

    $.when(1, 2).done(function() { console.log(arguments); });

Does the same thing as:

    $.Deferred().resolve(1, 2).done(function() {
        console.log(arguments);
    });
Consider any object with `.promise()` as deferred in pipe
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
AMD-friendly and auto-installInto(Zepto)
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