Change to use assert method.
Fix to not print unnecessary comma.

When `n2->car` is 0 and `n2->cdd` is not 0,
unnecessary comma was printed before first local variables.
Change to always use locals->car->car.

When p->locals->car is not NULL and p->locals->car->car is NULL,
local_add_f dose not append sym to p->locals->car->car.
This commit change to append sym to p->locals->car->car.
This will close #2333.
Implement String#clear
git push origin masterMerge branch 'suzukaze-add-string.clear2'
inline str_discard(); ref #2370
clear shared and nofree flags; ref #2370
move STR_* macros to mruby/string.h with renaming
remove UTF-8 strings from mruby-string-ext test
move String#clear to mruby-string-ext; ref #2370
Add test for end-of-program marker.
Merge pull request #2371 from take-cheeze/end_of_code

Add test for end-of-program marker.
revert #2368 due to #2369
do not ignore negative characters (e.g. EOF and partial EOF); fix #2361 fix #2369
Add test for end-of-program marker.
Merge branch 'master' of github.com:mruby/mruby
Remove redundant substitutions.

"#{MRUBY_ROOT}/include" is set in Command::Compiler#initialize .
Merge pull request #2372 from monaka/pr-remove-redundant-substitutions

Remove redundant substitutions.
Use `_Static_assert` when C11 is available and use it in pointer size check.
Check `RSTRING_EMBED_LEN_MAX` with static assert.