Call proxyToServerRequestSent() after LastHttpContent is sent

This should address issue #167. ProxyToServerConnection.RequestWrittenMonitor now explicitly looks for a LastHttpContent before invoking the proxyToServerRequestSent() callback. This mirrors the behavior of serverToProxyResponseReceived(), which is called only when the proxy has received all HttpContent from the server (not immediately after the proxy receives the HttpResponse).

I also moved the ProxyToServerConnection-specific code out of ProxyConnection.RequestWrittenMonitor, and added additional callbacks to RequestWrittenMonitor to support monitoring HttpContent messages.

The additional test in HttpFiltersTest will cause spurious conflicts with the additional test in PR #166, so I'll fix the other PR after the first PR is merged.