Implement sprintf("%c") for UTF-8.

* sprintf("%c") is changed to accept a string for which String#size returns
  1, even if it is longer than one byte, and to convert a Fixnum via
  Fixnum#chr (possibly returning more than one byte).  Thus, if the UTF-8
  gem is in use, a character will be understood as a single UTF-8 character.

* The change to sprintf depends on the implementation of Fixnum#chr added
  to mrbgems/mruby-string-utf8/src/string.c.

This should work with any other gem that implements a multibyte encoding, as
long as it implements String#size and Fixnum#chr as appropriate.
Update the Fixnum#chr test for UTF-8.
use mrb_str_cat_lit() intead of mrb_str_cat
Refactor tests in kernel.rb
move check condition to outside in while block
make mrb_str_dump a bit faster
Merge pull request #1757 from cubicdaiya/issues/use_mrb_str_cat_lit

use mrb_str_cat_lit() intead of mrb_str_cat
Merge pull request #1759 from suzukaze/fix-test

Refactor tests in kernel.rb
Merge pull request #1758 from ksss/array-out-while

move check condition to outside in while block
Merge pull request #1760 from cubicdaiya/issues/make_mrb_str_dump_a_bit_faster

make mrb_str_dump a bit faster
Merge pull request #1761 from take-cheeze/mruby-strip

Add mruby-strip tool to strip irep's debug info.
remove break altogether in ci loop
fix SEGV bug for mrb_str_new

mrb_str_new causes seg-fault when 3rd argument is negative.
Merge pull request #1762 from cubicdaiya/issues/mrb_str_new_bug

fix SEGV bug for mrb_str_new
fix SEGV bug for mrb_str_new_static

mrb_str_new_static causes seg-fault when 3rd argument is negative.
fix test for Array#[]
Merge pull request #1763 from cubicdaiya/issues/mrb_str_new_static_bug

fix SEGV bug for mrb_str_new_static
swap actual and expected; ref #1764
Merge branch 'master' of github.com:mruby/mruby
restore proc after restoring from fiber; ref #1766