string.c: rb_setup_fake_str

* string.c (rb_setup_fake_str): setup fake string from C pointer,
  length, and encoding.
symbol.c: rb_cstr2sym

* symbol.c (rb_cstr2sym): new function to return the symbol by
  pointer, length, and encoding.
symbol.c: rb_str2sym

* symbol.c (rb_str2sym): rename rb_str_dynamic_intern().
parse.y: intern_cstr

* parse.y (intern_cstr): rename intern_cstr_without_pindown().
parse.y: use rb_cstr2sym

* parse.y (intern_cstr): use rb_cstr2sym() instead of rb_intern3()
  to deal with names as symbols.