Converge draining

Implementing the logic for https://github.com/rackerlabs/otter/issues/715
This function is AAA-grade.