Add simple test case for the double-expand bug.
Fix for the double-expand bug (op is calculated wrongly the second time)
Remove duplicate calculation by introducing 'newolen'.
Calculate oleft without recurrence.
Remove NUL-termination stuff. Neither iconv nor Erlang cares about it.

- There is no special reason for the driver to do NUL termination.
- In fact, it may surprise that it doesn't return characters after the first NUL.
- Furthermore, this change does away with the strlen() call.