runtime: optionally check all allocations in hashmap.c
runtime: optionally check all allocations in hashmap.c

Adds the new debugging constant 'checkgc'. If its value is non-zero
all calls to mallocgc() from hashmap.c will start a garbage collection.

Fixes issue 5074.

R=golang-dev, khr
CC=golang-dev, rsc
https://codereview.appspot.com/7663051

bryanxu/go-zh,bryanxu/go-zh,scirelli/scirelli-go,webfd/go-zh,mhennings/marcohennings-go,sanjosh/sanjos100-tipc,scirelli/scirelli-go,glycerine/jeaten-go-arrayof-structof,sanjosh/sanjos100-tipc,scirelli/scirelli-go,sanjosh/sanjos100-tipc,scirelli/scirelli-go,mhennings/marcohennings-go,rdp/rogerpack2005-golang,glycerine/jeaten-go-arrayof-structof,d0f/go-zh,glycerine/jeaten-go-arrayof-structof,bryanxu/go-zh,scirelli/scirelli-go,webfd/go-zh,rdp/rogerpack2005-golang,sanjosh/sanjos100-tipc,rdp/rogerpack2005-golang,d0f/go-zh,glycerine/jeaten-go-arrayof-structof,bryanxu/go-zh,mhennings/marcohennings-go,rdp/rogerpack2005-golang,webfd/go-zh,webfd/go-zh,d0f/go-zh,bryanxu/go-zh,d0f/go-zh,sanjosh/sanjos100-tipc,rdp/rogerpack2005-golang,bryanxu/go-zh,mhennings/marcohennings-go,rdp/rogerpack2005-golang,glycerine/jeaten-go-arrayof-structof,webfd/go-zh,sanjosh/sanjos100-tipc,scirelli/scirelli-go,glycerine/jeaten-go-arrayof-structof,sanjosh/sanjos100-tipc,d0f/go-zh,rdp/rogerpack2005-golang,mhennings/marcohennings-go,scirelli/scirelli-go,mhennings/marcohennings-go,glycerine/jeaten-go-arrayof-structof,webfd/go-zh,d0f/go-zh,d0f/go-zh,d0f/go-zh,bryanxu/go-zh,scirelli/scirelli-go,bryanxu/go-zh,rdp/rogerpack2005-golang,webfd/go-zh,sanjosh/sanjos100-tipc,webfd/go-zh,glycerine/jeaten-go-arrayof-structof,mhennings/marcohennings-go,mhennings/marcohennings-go