implement Hash.[]
refactor Hash generator loop
remove line number from raise message
copy documentation comment from CRuby
Merge pull request #2594 from yasuyuki/hash

Implement Hash[]
to_hash/to_a check in Hash[] should only be done when only one argument is given; ref #2594
const_defined? to check superclasses; ref #2593
change class argument of mrb_const_defined_at from `struct RClass*` to `mrb_value` to make it consistent with mrb_const_defined; ref #2593
`Module#const_defined?` to take second optional argument as CRuby; fix #2593
code reduce by using mrb_get_args("n")