Add support to limit transfer length in `splice_socket_to_socket`

This is useful for 'keep-alive' connections or chunked transfers.
Take 'Content-Length' into account when splicing