messenger: Pipe should not hold pipe lock while doing message encode and auth
Right now we hold the pipe lock while running the message encode and cephx steps in Pipe::writer. We don't need to, and holding that lock prevents other threads from adding messages into the Pipe's out_q for the duration of that step (which Yehuda has found to be several hundred microseconds per message). This could slow progress in the main ms_dispatch() loop if all the Pipes are full of messages to send! Move the pipe_lock.Unlock() call up above those steps, see if it makes a difference, and add to mainline if so.