Protect against a race condition

There's a race condition around CurrentLogger and CurrentContext.Logger that particularly comes to light if SetLogger() is called in a goroutine. I discovered this running the race condition checker on a different project that uses grohl and added a test to grohl that would trigger the condition.