A round of tests

Hey Dave,

I've added a small round of tests. I'm still working on the `profile: Start() already called` one. For some reason, when running:
```go
defer profile.Start().Stop()
defer profile.Start().Stop()
```
It actually starts 2 profiles at once. Not sure why. Doesn't happen in normal circumstances. I've figured I'd send these over as a first PR and the `Start() already called` one as a following one.