fix $length default in utf8_substr functions, set iconv internal_encoding

1) fixes utf8_substr so that it doesn't return empty strings when there is no length specified
2) set iconv internal_encoding when using iconv
3) removed explicit set of encoding on mb_strpos because already set by mb_internal encoding
Merge pull request #1313 from joshhartman/patch-1

fix $length default in utf8_substr functions, set iconv internal encoding