Add a manual trip that will not auto reset

```go
package bm

import (
	"sync"
	"sync/atomic"
	"testing"
)

var (
	l sync.Mutex
	h int32
	i int32
	j int32
)

func BenchmarkMutex(b *testing.B) {
	for n := 0; n < b.N; n++ {
		v := int32(n)
		l.Lock()
		h = v
		i = v
		j = v
		l.Unlock()
	}
}

func BenchmarkAtomic(b *testing.B) {
	for n := 0; n < b.N; n++ {
		v := int32(n)
		atomic.StoreInt32(&h, v)
		atomic.StoreInt32(&i, v)
		atomic.StoreInt32(&j, v)
	}
}
```

```
rubyist:bm scott$ go test -bench=. -benchtime 5s
testing: warning: no tests to run
PASS
BenchmarkMutex	500000000	        17.8 ns/op
BenchmarkAtomic	500000000	        19.9 ns/op
ok  	_/Users/scott/bm	22.629s
```

It's marginally more efficient, with the added complexity of ensuring the right variables are protected at the right times.