Set and reset mb_substitute_character for mb_convert_encoding

This was accepted as part of 3.2 bugfix here #444 

I am not sure if we want to do the same for 3.3. This makes the `mb_substitute_character('none');` line in `bootstrap.php` redundant as it sets and resets back the original value within the function, when needed. So, I will make another PR for `kohana/kohana` on 3.4/develop and remove that line from `bootstrap.php`.

Regarding Kohana 3.3, I am not sure if we consider the settings of `bootstrap.php` file as something we could not change on minor releases. Probably removing `mb_substitute_character('none');` line from `bootstrap.php` might break some code relying on `mb_` functions elsewhere in the application. So let me know if you think this should be in Kohana 3.3 or not.

Not very elegant solution, but at least better than disabling and enabling the error reporting that we had prior to v. 3.2.3.

Thanks for reviewing :)
We used to have `iconv` instead of `mb_substitute_character`, the former used to generate `E_NOTICE` for illegal characters.

@rjd22 found that `mb_substitute_character` is a better solution to handle such conversions, but he did not remove those notice suppressions:

https://github.com/kohana/core/commit/2c70e8b66c7b24445480314f9f67987d4583229b#diff-7164730aa49bcfa52c92ab1167d7d051