runtime: detect hash map collision problems
runtime: detect hash map collision problems

This can only happen if the hash function we're using is getting
far more than it's fair share of collisions, but that has happened
to us repeatedly as we've expanded the allowed use cases for
hash tables (issue 1544, issue 2609, issue 2630, issue 2883, issue 3695).
Maybe this will help the next time we try something new.

R=golang-dev, r
CC=golang-dev
http://codereview.appspot.com/6306083
abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go