support IDNA hostname

this change encode the host to IDNA if needed. It's using a forked
version of erlang-idna for such purpose.

fix #82