Merge pull request #1379 from suzukaze/refactor-gc.c

Replace 0 with NULL because set NULL in sturct pointer.
Replace 0 with NULL because struct pointer is set NULL in.
Replace int with mrb_bool because a return value is boolean.
Add comments.
Merge pull request #1381 from suzukaze/refactor2-pool.c

Replace int with mrb_bool because a return value is boolean.
Merge pull request #1380 from suzukaze/refactor-pool.c

Replace 0 with NULL because struct pointer is set NULL in.
Allow programmers to specify build path manually
Repalace int with mrb_bool because a return value is boolean.
Merge pull request #1385 from suzukaze/refactor-return

Repalace int with mrb_bool because a return value is boolean.
Fix warning by making call explicit
Merge pull request #1384 from xxuejie/customize-build-dir

Allow programmers to specify build path manually
Merge pull request #1388 from carsonmcdonald/toplevelwarnfix

Fix warning by making call explicit
Fix string test for so that it works for int16
Save mirb history when readline enabled
First round of trying to improve the performance of attr_reader and attr_writer. From ~24sec to ~15sec
Use env[USERPROFILE] for Windows
Changed use of MRB_INT_MAX to MRB_INT_MAX-1
Merge pull request #1391 from carsonmcdonald/fixfallbackarraysize

Changed use of MRB_INT_MAX to MRB_INT_MAX-1
Merge pull request #1389 from carsonmcdonald/stringtestfix

Fix string test for so that it works for int16
Merge pull request #1390 from kyab/mirb_history

Save mirb history when readline enabled