Make `Digest` the sole interface for digests.

Add a `Create` static member function to `Digest` to create various types of digests.

* BaseKit/source/Digest.h
* BaseKit/source/Digest.cpp
* BaseKit/resources/OS X/BaseKit.exp

Remove `SHA1Digest` as a public interface.

 * BaseKit/source/BaseKit.h
 * BaseKit/project/Xcode/BaseKit.xcodeproj/project.pbxproj

Remove the opaque context pointer and just use `CC_SHA1_CTX` directly for now. We'll figure out the cross platform story when we get to it.

* BaseKit/source/SHA1Digest.h
* BaseKit/source/SHA1Digest.cpp

Update the only use of the `Digest` interface to use the `Create` member function and smart pointer.

* pgp/source/PublicKeyPacket.cpp