Use OpenSSL::Digest where possible.

From the commit:

Per #525 it appears that the regular Digest module is not thread-safe. Testing
showed that OpenSSL::Digest on the other hand is working fine.

Currently the SQS related code still uses Digest in one place. I tried
replacing that but this triggered spec failures for unknown reasons. The
OpenSSL::Digest API should be identical to Digest so I'm not really sure what's
going on here.

Personal note: 

SQS should probably be moved over as well so that the `require 'digest'` can go. I'm basing these changes on the results of applying https://github.com/aws/aws-sdk-ruby/issues/525#issuecomment-41890170 and not seeing the error since.