keep stack with nlocals instead of nregs; fix #1706
add a regression test for #1706
clearn up warning in hash.c

/home/fleuria/code/mruby/src/hash.c:159:1: warning: ‘mrb_hash_dp`defined but not used [-Wunused-function]
 mrb_hash_dup(mrb_state *mrb, mrb_value hash)
     ^

this commit defines Hash#dup to take advantage of mrb_hash_dup, however
it seems that Hash#dup is not in ISO standard.
add test for Hash#dup
Merge pull request #1708 from Fleurer/cleanup-warning-hash-dup

cleanup warnings in hash.c
Merge pull request #1707 from Fleurer/issue1706

keep stack with nlocals instead of nregs; fix #1706