Chunk server: fix replication cancellation with client threads by introducing separate / dedicated "pending cancel" flag, in order to handle race / "timing hole" between "enqueue" and and "handle" methods, and maximum state queue depth of 1. Set state to "none" upon read or start completion after acquiring the mutex, and enforce sate "none' before queuing "read" or "start" in order to ensure single in-flight op at all times (except cancel which is handled differently), therefore ensuring that the queue depth is always less or equal to 1.