mrb_parser_dump() did not work with block arguments
block_given did not work with nested block invocation for some cases; fix #2665
fix usage message
mirb dies if #inspect returns a non-string value; fix #2666
mrb_p() should print mrb_obj_as_string() if #inspect does not return a string value
Merge pull request #2667 from murasesyuka/usage_message_is_used_switches_instead_of_option

fix usage message
Fix crash if #inspect does not return a string value

case 1
~~~
class A; def inspect; 1; end; end
A.new.a
~~~

case 2

~~~
class A
  def self.inspect
    1
  end
  alias_method :a, :b
end
~~~
Merge pull request #2668 from sdottaka/fix-crash-for-inspect

Fix crash if #inspect does not return a string value
Add String#insert
Merge pull request #2669 from suzukaze/string.insert

Add String#insert
Fix crash if #inspect does not return a string value
eval() should preserve stack in env properly; fix #2671
Add String#prepend
Merge pull request #2674 from suzukaze/string.prepend

Add String#prepend
mrb_str_new(mrb, "", len) creates an unmodifiable string object; ref #2674
avoid out-of-bounds access of irep->lv; ref #2671, fix #2675

allocation size of irep->iv is irep->nlocals-1.
mruby-eval: proc from env may be NULL; close #2676
String#[] should reject nil index
try to convert not only nil but every objects to fixnums; ref #2677
Merge branch 'h2so5-string-nil-index'