Improve redirect handling even further

This is an improvement to my earlier commit related to forwarding
headers on for redirects.

Some of this code was borrwed from LWP::UserAgent by Kari Pahula, who
sent a patch on Github: https://github.com/kaol/HTTP-Async/commit/8e3c4d5a73f28250b515f350351dfc4876402575