Make ChannelEndpoint::OnReadMessage() take a MessageInTransit instead of a MessageInTransit::View.

It's a bit cleaner, and equally significantly this means that
TransportData::DeserializeDispatchers() no longer gets called under
ChannelEndpoint's lock, which is a bit bad since it may call into
Channel which may theoretically (but not likely) in turn call into
ChannelEndpoint. Admittedly, this could be accomplished without moving
the MessageInTransit::View -> MessageInTransit conversion into Channel.

R=yzshen@chromium.org

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