Refactored `client.request()` to utilize a `Deferred` instance instead of a `Promise` instance so that users can leverage `this.always()` etc., updated docblocks