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.
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.
Fix `Time.at` args spec.
Fallback to `mrb_assert` instead of dirty trick.
Add ".s" to source extensions.

It uses ".s" as the source for assembler on some toolchains including GCC.
Find c++ files in tools/.

Some tools may be written in C++.
Add a missing space after ","
Do not export include/ dirs in mrbgems to core build.

In the current behavior, include/ dirs in mrbgems are set to
core's compiler.include_paths.
And they are never set to mrbgem's include_paths.
It may cause some dangerous issues because it can change
mruby core's macros by mrbgems.

After this fix, include/ in a gem is used in the gem itself only.
Merge pull request #2374 from take-cheeze/timeat_fix

Fix `Time.at` args spec.
Merge pull request #2376 from kou/patch-1

Add a missing space after ","
Merge pull request #2373 from take-cheeze/static_assert

Add macro `mrb_static_assert`.
codedump should display proper L(n) for OP_STRING op
NODE_FOR does not introduce new local variables
should not add extra stack space to callinfo->nregs; maybe related to #2375
Merge pull request #2379 from monaka/pr-do-not-export-include-dir-in-gems-to-core

Do not export include/ dirs in mrbgems to core build.
Merge pull request #2378 from monaka/pr-add-tools-dir-to-cxx-files-check-oaths

Find c++ files in tools/.
Merge pull request #2377 from monaka/pr-add-dot-s-extension

Add ".s" to source extensions.