Add method `toolchains` and `primary_toolchain` to `MRuby::Build`.
* To check imported toolchains for setting up toolchain specific things.
* `primary_toolchain` returns the main toolchain name of the build.
Use RSTR_NOFREE_P in state.c
Use *_EMBED_* macro in state.c
Merge pull request #2432 from take-cheeze/toolchains

Add method `toolchains` and `primary_toolchain` to `MRuby::Build`.
Merge pull request #2443 from suzukaze/use-mrb-str-emebed-macro

Use *_EMBED_* macro in state.c
Merge pull request #2442 from suzukaze/use-mrb-str-nofree-macro

Use RSTR_NOFREE_P in state.c
Always return non-NULL in `mrb_hash_tbl`.
Merge pull request #2444 from take-cheeze/fix_mrb_hash_tbl

Always return non-NULL in `mrb_hash_tbl`.
Fix type checking in `mrb_flo_to_fixnum`.
Merge pull request #2446 from take-cheeze/fix_mrb_flo_to_fixnum

Fix type checking in `mrb_flo_to_fixnum`.
Reduce allocation in shared RArray clearing.
Merge pull request #2447 from take-cheeze/reduce_ary_clear_alloc

Reduce allocation in shared RArray clearing.
reformat else part; ref #2447
Add new API `mrb_ary_resize`(mruby implementation of `rb_ary_resize`).
Remove unnecessary out of memory check in `ary_expand_capa`.
Since `mrb_realloc` raises when failed to allocate memory.
Print error instead of printing return value of report.
Use `mrb_print_error` to print exception instead of `mrb_p`.
Merge pull request #2449 from take-cheeze/mrb_ary_resize

Add new API `mrb_ary_resize`(mruby implementation of `rb_ary_resize`).
Merge pull request #2451 from take-cheeze/remove_mem_out_check

Remove unnecessary out of memory check in `ary_expand_capa`.
Clean up value.h and mrb_value boxing