drop openssl in favor of kernel hashes

This avoids the large openssl dep in favor of dropping in the code from
the kernel itself.

The headers have been tweaked a bit in order to be able to copy in the
hash files completely unmodified.  Hopefully, all that is needed to
update this code to newer versions is:
	kdir=../../third_party/kernel/files
	cp $kdir/crypto/md5.c kernel/md5_generic.c
	cp $kdir/crypto/sha{1,256,512}_generic.c kernel/
	cp $kdir/lib/{md5,sha1}.c kernel/

Speedwise, the kernel code seems to be about <0.5 seconds slower for all
hashes which boils down to system noise.

BUG=chromium-os:25968
TEST=ran verity manually before/after and verified hashes (md5/sha1/sha256) matched
TEST=`make tests` passed
TEST=`emerge verity` worked
TEST=`FEATURES=test emerge-amd64-corei7 verity` worked
TEST=`FEATURES=test emerge-x86-alex verity` worked
TEST=build_image booted on amd64-corei7
TEST=build_image booted on x86-alex

Change-Id: I9a69488a0b14a24ee1620e4e7f6c9ef4c1ac6fd5
Reviewed-on: https://gerrit.chromium.org/gerrit/14842
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Will Drewry <wad@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
28 files changed