Allow Content-Length overriding

I'm implementing a protocol where HEAD requests are used to
provide details about resources and which uses 'Content-Length'
to provide the resource's size.

With aleph it is currently impossible to implement it since the
'Content-Length' header is always inferred from the payload being
sent.

This patch allows overriding the header when it was explicitly
set in the response and only for non channel or reader bodies.