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
fix ISO reference number of String#=~.
add operator "!~".
Merge pull request #1653 from iij/pr-fix-iso-ref-string-match

fix ISO reference number of String#=~.
Merge pull request #1654 from iij/pr-not-match-operator

add operator "!~".
Added rewrite of Array#[] to mruby-array-ext gem, so that arrays can be sliced
with Ranges (as a[1..-2])
String#length should be an alias of String#size
Merge pull request #1656 from h2so5/string-length-utf8

String#length should be an alias of String#size
Merge pull request #1655 from pbosetti/master

Added rewrite of Array#[] to mruby-array-ext gem
hash value of enumerable should be obtained from its elements; close #1658
hash value of enumerable should be obtained from its elements; close #1658
Merge branch 'master' of github.com:mruby/mruby
Increase test coverage of mruby-struct