runtime/gc: Run garbage collector on g0 stack instead of regular g stack. We do this so that the g stack we're currently running on is no longer changing.  Cuts the root set down a bit (g0 stacks are not scanned, and we don't need to scan gc's internal state).  Also an enabler for copyable stacks.
runtime/gc: Run garbage collector on g0 stack
instead of regular g stack. We do this so that the g stack
we're currently running on is no longer changing.  Cuts
the root set down a bit (g0 stacks are not scanned, and
we don't need to scan gc's internal state).  Also an
enabler for copyable stacks.

R=golang-dev, cshapiro, khr, 0xe2.0x9a.0x9b, dvyukov, rsc, iant
CC=golang-dev
https://codereview.appspot.com/9754044

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