Add a namespace parameter for testdb.Open.

Currently, the testdb name is purely based on the default
pseudo-random number generator. This is safe for use across multiple
goroutines but can cause conflicts if used concurrently in multiple
processes.

In practice this occurs because `go test` runs each package's
tests concurrently in separate processes. By allowing the user
to pass a namespace, you can let people circumvent this.