Add an SHA1 implementation by Paul Jones
Make the SHA1 header compatible with C++
Make the SHA1Result function write the output into a byte array
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.