add symbol table overflow check

Since raising an error might intern a few new strings, some symbols need
to be reserved. 8 should be sufficient.

If the real limit has been reached, mrb_bug() is called.
Fix error handlings for fprintf().
Fix error handlings for fputs().
Merge pull request #2569 from dycoon/issue2525

add write barrier to env on pop call info poped. #2525
revert 6c1dfc9; ref #2525 #2565
Unify duplicated functions (noregexp() and regexp_check()).
Rename functions for avoinding symbol confiliction.

Add prefix(mrb) to noregexp() and regexp_check().
print lineno of dumping node
adjust node lineno of muiti line statements
revert 6c1dfc9; ref #2525 #2565
print lineno of dumping node
adjust node lineno of muiti line statements
Fix mismatches for MRB_API declarations.
git push origin masterMerge branch 'cubicdaiya-issues/declare_mrb_api'
Merge pull request #2570 from cubicdaiya/issues/unify_duplicated_functions

Unify and rename duplicated functions (noregexp() and regexp_check()).
Merge pull request #2572 from cubicdaiya/issues/fprintf_error_handlings

Fix error handlings for fprintf() and fputs() to file.
Remove unused macro.

OutOfRange() is no longer used.
Merge pull request #2573 from cubicdaiya/issues/remove_unused_macro

Remove unused macro.
allow no_optimize esp. for debugger
more OP_MOVE swap detection in peephole optimization