resolve promise-like object
resolve promise-like object

- if `then` property probed from promise-like object is
    - not function, treat it as usual, let it fullfills the promise
    - a function, treat it as a promise:
        (pause resolving) -> execute -> get result -> (resume resolving)

chintown/simple-promise,chintown/simple-promise