Make this.own() handle objects with cancel() method.

Allows own(promise), for instance useful for canceling xhr request.

Fixes #17680.