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