Moved all channel-handling logic into separate NativeMessagingChannel class.

Changes in this CL:
 - NativeMessagingHost is used only for actual processing the messages.
 - NativeMessagingChannel implements receiving and sending messages.
 - NativeMessagingChannel takes ownership of the passed inout and output handles.
 - Both NativeMessagingChannel and NativeMessagingHost are explicitly marked as not thread-safe classes.

BUG=173509

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227492 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 227492