should not add extra stack space to callinfo->nregs; maybe related to #2375

Conflicts:

	src/vm.c
reserve a register for a block parameter in a for statement body; ref #2375

Conflicts:

	src/codegen.c
str_replace: self should not be shared and nofree

Conflicts:

	src/string.c
	test/t/string.rb
clear local variables for the first execution of mrb_context_run(); close #2405
Proc#arity return 0 when opcode was not OP_ENTER

Conflicts:

	src/proc.c
initialize nomem_err->mesg->c before exposing to Ruby world; close #2428

Conflicts:

	src/error.c
Fix MRB_WORD_BOXING by correctly telling GC which mrb_value types are immediate.
Ensure RVALUE is large enough for word boxing types.
fiber stack should not be cleared by zero when MRB_NAN_BOXING is set; close #2439
check the return value of `fwrite`