Post version policy prominently
Scale back the deprecations

Particularly, restore the Q method dual `when`, restore the Node.js
bridge methods, exposed from the `node` module.
Fix syntax error regression
Flip then and done

That is to say, implement `then` in terms of `done` instead of `done` in
terms of `then`. This makes quite a bit of sense since `done` can be
less expensive since it does not need to construct an intermediate
promise.

This factoring also creates special cases to avoid unnecessary try/catch
clauses by checking for `Q.onerror` up front. Thus, this is slightly
backward incompatible. `Q.onerror` must have been set before `done` or
`then` are called for errors to be trapped.
Clarify that the progress interface is removed
Promise apply, call, bind, Q.method

These methods deprecate fapply, fcall, and fbind both on Q and on the
promise prototype. They differ only in that they accept a `thisp`
argument, in first position to be “isomorphic” with a JavaScript
function.

The `Q` function does not have reflections of the `apply`, `call`, and
`bind` methods since it has its own such methods on the
`Function.prototype`. Use `Q(function)` to use the method form.

This accompanies a change to the dispatch operator protocol. "post" has
been factored into "invoke" and "call". The "invoke" form handles named
method invocation only, and like "post" but unlike the "invoke" promise
method, accepts an array of arguments, not arguments spread out. The
"call" form handles function application and accepts an optional `thisp`
as its *second* argument. This is to emphasize that not all languages
that Q-Connection might connect to support the JavaScript eccentricity
of `this` override, but to still support it internally and between
JavaScript processes.

`Q.method` has been added. It does not do any of the partial application
or `this` binding of `bind`, but rather passes arguments and `this`
directly.

`Q.isThenable` has been removed from the public interface.

Fixes #484
Use keyword methods. ES5 only.
Scale back and upgrade Node.js bridge
Name ALL the functions

Also, remove the Handler prefix from all the handler constructors.
Changing DeferredHandler to Pending avoids the name collision.
Tolerate absent handler in finally
Factor test runner into Jasminum project
Update dependencies

Use the new npm ^ semver version predicate syntax
Add Q.isIntrospective flag

To avoid filtering Q internal stack frames, for debugging Q proper.
async should always return a promise

See #497
Factor rawDispatch from dispatch

To be used by Q Connection
Eliminate use of Function bind

Because PhantomJS doesn't implement it, and because it is slow.
Implement push, pull, isPortable

For Q Connection, to mark local and remote objects as portable.

push is also called passByCopy, per Mark Miller’s existing usage.
Implement iterate

So a remote iterable can be iterated or streamed over Q Connection.
Fix test for Jasminum changes

Jasminum now enforces an undefined return value or resolution from
tests.
Version 2.0.0

Accessible only with:

    npm install q@future

For adventurers only.