Add some paranoid synchronization around OpenSSL interactions

We have some evidence that green threads may be causing problems due to
OpenSSL thread-local state issues. Try to work around this by adding
coarse-grained synchronization to anything that touches OpenSSL.
Drop paranoid synchronization as it does not seem to help
Minor cleanup
Add different paranoid behavior

Try computing the hmac twice when saving, and compare the two versions.
These should always be identical, but we've seen some errors that suggest
that the hmac can be miscomputed in highly concurrent situations, possibly
due to thread-local state in openssl. This may tell us more about these
problems.
Bump version to 0.0.9