Use `mrb_parse_nstring` instead in eval.
Add `SyntaxError` test and don't print compilation error to stderr in eval.
check `mrb_open` return value
rewrite stripping

Previous version ignored some errors, and didn't free memory and close files.
Now no memory will be dynamically allocated to simplify error handling.

This commit also fixes a wrong check:

  files[i] = fopen(argv[i], "wb");
  if (!ireps[i]) {

Improve error messages a bit and add missing newline to one.
update expected error message in bintest
coding style adjustments
initialize `args` in `parse_args`
remove spaces after open parens
check the return value of `fwrite`
Run mrbgem and core tests on minimum dependencies.
Solves #2355.

In test drivers:
* Uses `mrb_t_pass_result` to check and pass test result to main `mrb_state`.
* Adds `mrb_init_test_driver` to init test `mrb_state`.
use SystemStackError instead of RuntimeError
Fix rake failure since `mrbtest_objs` isn't flattened.
Append generated test object to `@test_objs` of mrbgem spec.
Add method `custom_test_init?` to check whether mrbgem has custom test init function.
avoid print backtrace for SystemStackError
rescue SystemStackError that comes from inspecting self-referencing Hashes and Arrays; fix #2461
Merge branch 'master' of github.com:mruby/mruby
Merge pull request #2463 from take-cheeze/fix_rake

Fix rake failure since `mrbtest_objs` isn't flattened.