Added iconv CharsetProvider

This is too fragile. Use exception instead. See the comments on the C code.