Add an SHA1 implementation from RFC 3174

The implementation is under the BSD license, according to
http://trustee.ietf.org/license-info/IETF-TLP-4.htm section
4c.
Make the SHA1 header compatible with C++
Use the bundled sha1 implementation instead of relying on openssl

This simplifies running tests on platforms where OpenSSL isn't
commonly available.
Use the local sha1 function names directly without compatibility defines
Remove the now unused -Wno-deprecated-declarations on OS X

This was only required for building with OpenSSL.
Set GTEST_HAS_TR1_TUPLE to 0 on msvc

This fixes building of gtest on msvc.

See e.g. http://stackoverflow.com/questions/8274588 for
more discussion on the matter.

This is only required on MSVC 2012 - gtest itself (in the cmake
files) adds -D_VARIADIC_MAX=10 to the build when building using
MSVC 2012, but we don't know the MSVC version at the make stage
here. Since the gtest tuple support isn't used at all, it's
simpler to just disable it altogether than to try to add
-D_VARIADIC_MAX=10.
Wrap the library names in codec_unittest LDFLAGS, for use with MSVC
Allow building tests on MSVC versions where stdint.h is missing

Of the supported MSVC versions, only 2008 actually is missing
stdint.h, it is included in MSVC since 2010.