Fix for #5894 - .il Domain checking

Fix for Issue #5894
* .il validation for Hebrew and Latin domain names;
* Update validTLDs from IANA website;
* Add a few more Cyrillic IDN checking strings from IANA website;
* Use UTF8 string wrapper for strlen calls;
* Clean up TLD checking (if we are using getTldCheck() == true we don't need any further checking of the TLD validity);
* Add new tests for some of the new UTF-8 TLDs

There is more cleaning up to do in this class: 
* TLDs like .asia can take Chinese, Japanese, and Korean characters. Current logic only allows one file to be imported at a time.
* Should probably have a idn_to_utf8() short-circuit in decodePunycode() for those with the intl extension.
* Need to check the other new TLDs like .tokyo to see if they use IDN strings too