fix optional block arguments in rhs

define optional block arguments as argument variables in the rhs
default expressions, as same as mere assignment expressions.

Import ruby/ruby@01740f0c273c89f7bcff3d5014d73c8ff6fb1986
Merge pull request #2099 from nobu/optional_arguments_in_rhs

Optional arguments in rhs
tests should not depend on `mruby-proc-ext`
Merge pull request #2100 from cremno/fix-tests

tests should not depend on `mruby-proc-ext`
Remove `Struct` defined check in test.
Add document to Fiber#transfer .
Remove unnecessary `require 'fiber'` note in Fiber.current document.
Merge pull request #2102 from take-cheeze/fiber_doc

Improve mruby-fiber document.
Merge pull request #2101 from take-cheeze/struct_test

Remove `Struct` defined check in test.
Also set $0 for binary files
remove `mrb_str_buf_cat`

It does the same as `mrb_str_cat`.
Merge pull request #2103 from titouanc/global-zero-bytecode

Also set $0 for binary files
Merge pull request #2104 from cremno/remove-mrb_str_buf_cat

remove `mrb_str_buf_cat`
Add test of $0 value in bin/mruby related to #2103 .
OP_SEND refactoring
reduce the init size of stack
Merge pull request #2106 from mirichi/enhance

OP_SEND refactoring
bug fixed
Add Array#insert
Array#insert: simpler (and faster) implementation; ref #2107