change behavior of mrb_sym2str
Remove 'mrb_state' field from 'kh_xxx_t' structure.

'kh_xxx_t' requires 'mrb_state' to allocate, free, and compute hash value.
But 'mrb_state' should not be held by 'kh_xxx_t' and 'mrb_state' should be
supplied from outside.
Merge pull request #1614 from h2so5/change-sym2str

change behavior of mrb_sym2str
Merge pull request #1615 from crimsonwoods/remove_strong_coupling_by_khash

Remove 'mrb_state' field from 'kh_xxx_t' structure.
verify the argument of String#=~
Merge pull request #1616 from h2so5/verify-string-match

verify the argument of String#=~
string type check based on #to_str to encourage duck typing; #1616
remove MRB_IREP_ARRAY_INIT_SIZE which is no longer used
zero copy C literal strings in symbol table
class/module body to honor whether value is required or not; reduce a few instructions for normal cases
fix #1617
Merge pull request #1618 from h2so5/fix-1617

fix #1617
Change :vattr= to :cattr= in respond_to? test
rename mrb_intern_litral -> mrb_intern_static
zero copy intern from static allocate irep
zero copy str_new from static allocate irep
Merge branch 'master' of github.com:mruby/mruby
clear STR_NOFREE flag on modify
avoid copying when the original string comes with MRB_STR_NOFREE
Merge pull request #1619 from carsonmcdonald/fixmoduleattrtest

Change :vattr= to :cattr= in respond_to? test