Transactionally handle the iconv_open failures.

Already opened iconv_t(s) are not affected by failed new encodings.

Closes-Bug: #13