fix length check in read_section_debug(); fix #1572
Merge pull request #1573 from Fleurer/fix1572

fix length check in read_section_debug()
remove warning on NAN_BOXING
enum mrb_vtype varies on compile time configuration, namely MRB_NAN_BOXING
fix irep memory leak
add new function mrb_load_irep_file_cxt() and simplifies mruby.c
wrong size of filenames buffer
should not free buffer that is still accessed
should output debug info for child ireps; close #1575
wrong size of filenames buffer
fix warning: "implicit conversion from enumeration type 'enum mrb_vtype' to different enumeration type 'enum irep_pool_type' [-Wenum-conversion]"
Merge pull request #1582 from takahashim/warning-enum-irep_pool_type

irep->pool[n].type should be IREP_TT_*, not MRB_TT_*
Merge branch 'master' of github.com:mruby/mruby
check upper callinfo to call ensure block; close #1579
write_debug_record should dump info recursively; close #1581
ci->err may be out of boud; close #1583
codegen_malloc/realloc: static + simple mem alloc

- there's no reason for both to have external linkage
- use simple versions of memory allocation functions
which are returning NULL instead of longjmp-ing,
so codegen_error will be called to cleanup.
renamed mrb_exc_new3 to mrb_exc_new_str

- more descriptive name (there's no mrb_exc_new2)
- no wrapper (macro/static inline function) for
backwards compatibility because nothing besides
mruby itself seems to be calling this function:
<http://mruby-code-search.ongaeshi.me/home?query=mrb_exc_new3>
GCC: add -std=gnu99 to CFLAGS

- this change prevents issues like #1539 in the future
- Clang's default is already gnu99 but GCC's is gnu89
- mruby is C99 (+ GNU exts), not C89 (+ GNU exts)
clear ci->err after const set; revert 5b51b1; ref #1583