runtime: prevent garbage collection during hashmap insertion

Inserting a key-value pair into a hashmap storing keys or values
indirectly can cause the garbage collector to find the hashmap in
an inconsistent	state.

Fixes issue 5074.

R=golang-dev, minux.ma, rsc
CC=golang-dev
https://codereview.appspot.com/7913043