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
Merge pull request #1586 from cremno/gcc-std-gnu99

GCC: add -std=gnu99 to CFLAGS
Merge pull request #1585 from cremno/codegen-fixes

codegen_malloc/realloc: static + simple mem alloc
Merge pull request #1584 from cremno/rename-mrb_exc_new3

renamed mrb_exc_new3 to mrb_exc_new_str
Fixed so that it builds with VS2013. VLA:s are not supported, because of its strict C89 world view.
Merge pull request #1587 from perlun/patch-1

Fixed so that it builds with VS2013. VLA:s are not supported, because of its strict C89 world view.
parser_dump() is not used in mrbc; close #1561
Merge branch 'master' of github.com:mruby/mruby
Merge branch 'master' into iij