make erlang-idna a full OTP application and add caching.

Hi,

Thanks for your code. For hackney I needed to make some changes and you may be interested by them.

Changes are the following:

- make the erlang-idna a full Erlang/OTP application
- don't load the data file when the application start. instead download
  it when we build the application
- use rebar instead of an emake file
- add ets_lru dependency which will be use to cache encoded data.
- cache encoding results to make it faster in production