Add domain name SOCKS5 connect support

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
Add .onion address support

An onion pool subsystem is added which uses an IP subnet defined in the
configuration file acting as a cookie pool that are picked and returned
to the application. In the connect() process, if the cookie is seen, a
lookup is done to find the corresponding onion address and used to
connect to Tor.

Some modifications was needed in the sock5 and connection ABI/API. Two
files are added, onion.c/.h.

The connect() call supports hidden service's address at this commit.
Some optimization is still possible especially in the onion entry lookup
by IP as well as the pool data structure which is now an array.

Signed-off-by: David Goulet <dgoulet@ev0ke.net>