Make `Digest` the sole interface for digests.

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

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

Remove `SHA1Digest` as a public interface.

* library/source/BaseKit.h
* library/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.

* library/source/SHA1Digest.h
* library/source/SHA1Digest.cpp