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.
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
Test for UTF-8 as mattn suggests.

The string is "Hello world" in Japanese.  (hat tip:  Google Translate.)
support break from fiber block; fix #1766
Merge pull request #1756 from chasonr/sprintf-utf8

Implement sprintf("%c") for UTF-8.
cancel 313f6b; add fallthrough comment
mrb_fiber_yield() is available now; you have to link mruby-fiber mrbgem to use the function; there's no function available to create new fiber from C (countapart of Lua's lua_newthread), but that's because you cannot create a new fiber from C due to mruby C API design limitation. define your method to create fibers in Ruby; close #1269
Please add me to the author.
Merge pull request #1771 from take-cheeze/add_author

Please add me to the author.