implement host filter
add LocalSocketSelector interface for picking NetworkInterface
create ServerAddress and ProxyAddress to have type safety instead of
using String everywhere.
implement authentication when forwarding to the chained proxy