Add BenchmarkGoroutinesWaiting

This benchmark tests the performance of the runtime when opening thousands of
goroutines simultaneously and leaving them waiting on a channel read. It seems
to expose a substantial performance regression in Go 1.1:

```
BenchmarkGoroutinesWaiting                    3579       110215  +2979.49%
```

*I'll send a link to this to the mailing list.*