Lock all of Close instead of just conn.stale

Ran across this problem when running another project's test suite with
-race.
Merge pull request #13 from lytics/safer-locking

Lock all of Close instead of just conn.stale