Dynamic buf size

Most of the messages in drains in production systems turn out to be
stored for disconnected drains for a given period of time, and will thus
have a real cost on memory for the overall node.

This pull request makes drain buffers shrink down to 10 entries when
they are disconnected for 5 minutes or more, and go back up in size
once they can properly connect.

All drain losses should be accurately reported for the entire time.