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.
Add NOFREE macros
Merge pull request #2386 from suzukaze/add-nofree-macro

Add NOFREE macros
Refactor how to use RSTR_NOFREE_P macro
str_replace: self should not be shared and nofree
String#clear: use String#replace to simple
Merge pull request #2387 from suzukaze/refactor-nofree-p

Refactor how to use RSTR_NOFREE_P macro
Merge pull request #2389 from ksss/str-mem-leaks

Fix memory leaks in String
Implement `add_conflicts`. Solve #2383.
need to call write barrier on hash keys; ref #2375
Merge branch 'master' of github.com:mruby/mruby
Implement `add_conflict`. Usage is similar to `add_dependency`.
Merge branch 'add_conflicts' of https://github.com/take-cheeze/mruby into take-cheeze-add_conflicts
remove add_conflicts now; use add_conflict; ref #2390
git push origin masterMerge branch 'take-cheeze-add_conflicts'
Add document for `add_conflict` and `add_conflicts`.
Add :doc task to run document generator.
Update document by regenerating it.
Fixed dead assignment in 'backtrace.c' reported by 'clang-analyzer'
Fixed dead assignment in 'parse.y' reported by 'clang-analyzer'