Jeremy/testutils

I want `hardReset` to be a fairly strong guarantee for unit tests -- you either get a fresh keyspace or an error if you set `hardReset` to `true`. The existing behavior was just to log any error here, so I kept that behavior for `hardReset` = `false`. I'll expand the function comment above to reflect that.

Good catch on not closing the session. I'll `defer session.Close()` after session gets opened and delete line 88 to make mistakes like that less likely in the future. I'm assuming it won't be a problem to temporarily have connections open for both sessions.