remove superfluous includes

- reduce compile time by a little bit (full-core: ~0.7s for me)
- thanks to 'include-what-you-use' for some help
- include Standard C header files before any other (coding style)
string.c: remove str_mod_check

Clang 3.4 emits '-Wunused-function' - and it's really unused!
But according to the description this seems to be a bug:

>Warn whenever a static function is declared but not defined or
>a non-inline static function is unused. This warning is enabled by
-Wall.

Source: <http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>
add String#reverse, String#reverse! for UTF-8
Merge pull request #1649 from cremno/include-cleanup

remove superfluous includes
Merge pull request #1651 from h2so5/string-reverse-utf8

add String#reverse, String#reverse! for UTF-8
Merge pull request #1650 from cremno/remove-str_mod_check

string.c: remove str_mod_check
adjust lineno after continuing script files using mrb_partial_hook; close #1652
Merge branch 'master' of github.com:mruby/mruby