Fix/reland 505555fa8031fc06d67e9ed43e3021d8d84cb44f (crrev.com/773983002).

This adds ChannelEndpoint::ResetChannelNoLock(). I needed to set
is_detached_from_channel_ in a bunch of other places.

R=yzshen@chromium.org

Review URL: https://codereview.chromium.org/773113006