Refactor proxy-enabled payload handling

This fixes a couple bugs and generally cleans up the proxy option parsing code. 
Not sure the state of IPv6 support for proxies but might be worth while to check ```Rex::Socket.is_ipv6?(info[:info])``` and ```info[:info] = "http://[#{info[info]}]"``` if it is so the URL will be correct.