Make the resource mutex to guard only resource::m_valid .

resource::m_lock is changed to cybozu::spinlock from std::mutex
because the lock now guards only one variable, namely, m_valid.

To guard send buffers in tcp_socket, another mutex is introduced.
Related to these changes, resource::m_cond_write is moved to
tcp_socket as well.
Dispatch send jobs for memcache clients to workers.

memcache_socket::on_writable overrides the default implementation
to dispatch the send job to an idle worker, if possible.

This reduces the reactor thread's CPU usage.
Dispatch send jobs for replication to workers.
Merge pull request #15 from cybozu/general-write

Reduce the reactor thread's load by dispatching send jobs to workers