Fix synchronization on wrong object

Used synchronized blocks on 'lock' field, which had no effect. Now
synchronization happens on channel object.
Move close call to NetworkConnectionManager and call from OutboundConnectionQueue