Drain performance

When a drain is disconnected it currently takes at least 1 full seconds before the connection is re-established. For a high volume drain, this will almost guarantee log loss as the short buffer will be rapidly filled up. This branch attempts to resolve that behaviour by removing the forced hibernate and implementing an exponential backoff on re-connect behaviour.