Scheduler: proper handling when dropping connections

This patch implements a new function at scheduler level that is
used to cleanup a complete connection.

It helps to fix an issue when connections are dropped from different
sources such as: timeouts, I/O errors, incomplete requests, etc.

Signed-off-by: Eduardo Silva <eduardo@monkey.io>