http: implement new evhttp_connection_get_addr() api.

Basically tcp final handshake looks like this:
    (C - client, S - server)
    ACK[C] - FIN/ACK[S] - FIN/ACK[S] - ACK [C]

However there are servers, that didn't close connection like this,
while it is still _considered_ as valid, and using libevent http layer
we can do requests to such servers.

Modified handshake:
    (C - client, S - server)
    ACK[C] - RST/ACK[S] - RST/ACK[S]

And in this case we can't extract IP address from socket, because it is
already closed, and getpeername() will return: "transport endpoint is not connected".
So we need to store address that we are connecting to, after we know it,
and that is what this patch do.

I have reproduced it, however it have some extra packages.
(I will try to fix it)
https://github.com/azat/nfq-examples/blob/master/nfqnl_rst_fin.c
regress_http: add tests for evhttp_connection_get_addr()
regress_http: get_addr: check the same on close and after exiting from loop
regress_http: http_request_get_addr_on_close: validate IP addresses as strings
Merge remote-tracking branch 'fork-upstream/evhttp_connection_get_addr-v2' into 2.1-testing
Bump changelog