Added iconv CharsetProvider

Use buffer.remaining() when allocating the copy buffer. Set cb.position(0) and don't touch cb.limit().