function bindPromise(promise, segment) {
  return this.interceptPromise(promise, function thenTouch() {
    segment.opaque = false
    segment.touch()
  })
}
Binds the given segment to the completion of the Promise.
Updates segment timing and resets opaque state.

@memberof Shim.prototype
@param {!Promise} promise
 The Promise to bind.
@param {!TraceSegment} segment
 The segment to bind to the Promise.
@returns {Promise} The promise to continue with.