character_limiter now works correct for UTF-8 strings

strlen() doesn't return the actual length for unicode strings. For example strlen('سلام') returns 8, but length of سلام is 4. strlen(utf8_decode('سلام')) returns correct value 4.
Reference: http://www.php.net/manual/de/function.strlen.php#45407
removed newline from end of file
remove newline from end of file
count number of characters (with mb_strlen) instead of counting number of bytes with strlen
Merge remote-tracking branch 'asli/develop' into patch-1
Remove pointless mocks for remove_invisible_characters(), is_php(), is_really_writable()
[ci skip] Indentation fix
Move mbstring/iconv configuration and MB_ENABLED, ICONV_ENABLED out of CI_Utf8::__construct()

Also, use mb_substitute_character() instead of ini_set()
[ci skip] Test fixes
Introducing compatibility layers

 - Limited support for mbstring (mb_strlen(), mb_strpos(), mb_substr() only) via iconv.
   Falls back to regular strlen(), strpos(), substr() if iconv is not available.
 - Password hashing, dependant on CRYPT_BLOWFISH (2y version, available since PHP 5.3.7) availability.
Merge pull request #2610 from mjnaderi/patch-1

character_limiter now works correct for UTF-8 strings
Update Text and Inflector helpers to utilize mbstring, if available

Text: word_wrap(), ellipsize()
Inflector: humanize(), underscore() (rel #2855)