Ignore the behaviour of callback in bindCallback.

Previously, bindCallback returned a new Promise to be fulfilled
or rejected with the return value or exception from callback,
respectively. Now, bindCallback returns a Promise with the same
state as the passed-in promise no matter the behaviour of callback.

See https://github.com/cujojs/when/pull/215 for more discussion and the impetus for this change.

Ready for review @briancavalier @phated .