Streamline upstream handler performance around Iteratees

Removed an unnecessary future when it came to constructing the request iteratee. In addition the RequestBodyHandler was re-factored to a) handle this future-less iteratee and b) to factor out the concern of replacing the channel pipeline i.e. keep the removal the caller's concern as per the insertion of the handler.

Finally the above re-factoring potentially fixes a memory leak given that new default upstream handlers were created on the completion of chunked requests.