Add API `mrb_atexit()`.
`mrb_final_mrbgems` will be called as mrb_state atexit function.
Maybe useful in #1844.
Add generator script to dependency so that it will regenerate C codes when it's modified.
mruby-struct: internal linkage for all functions
mruby-struct: use correct data types
mruby-struct: remove unused functions
update Kernel#raise/fail argument description
add nil#to_h; ref #2348
Merge branch 'atexit' of https://github.com/take-cheeze/mruby into take-cheeze-atexit
git push origin masterMerge branch 'take-cheeze-atexit'
remove eval (that only raises NotImplementedError) from the core; ref #2354
remove mrblib/print.rb that only raise NotImplementedError; ref #2354
move IS_EVSTR macro that should be private to src/string.c
Release `mrb->atexit_stack` on `mrb_close`.
mruby-struct: implement `mrb_is_(local|const)_id`
implement `ISASCII` correctly
`ISSPACE` evaluates its argument multiple times
don't (re-)define `ascii_isspace` and `isascii`

`ISSPACE` and `ISASCII` can be used instead.
use uppercase US-ASCII ctype macros
partially revert 1a5841b for mirb

Fix compilation fail caused by GNU Readline and `ISPRINT`.
Also add missing `unsigned char` cast.
Merge pull request #2364 from take-cheeze/free_atexit_stack

Release `mrb->atexit_stack` on `mrb_close`.