Additions to #2602:

1. Proper Net_IDNA2 usage. Net_IDNA2::decode() and Net_IDNA2::encode()
accepts only domains, not full URLs. Before this fix framework used
to pass full URLs which is wrong usage.

2. If CEmailValidator or CUrlValidator is being used under PHP 5.3.0+,
native `idn` PHP extension will be used (`idn_to_utf8` and `idn_to_ascii`
functions in particular). Otherwise Net_IDNA2 will be used (for PHP
< 5.3.0).