New verity implementation using shared code with the coming dm-verity module

More tests will come for both dm-bht and the related helpers (simple_file, etc), but I'd like to get a first cut checked in to iterate on.

The dm-bht.c/h code may change as a result of the kernel-side review so feedback is good here, but it will also fall under the kernel cl as well.

[FWIW, simple_file isn't pushed to common because all the code directly compiled with dm-bht.c is being gplv2 licensed.  If we want to dupe it over with a BSD license once the unit tests are written, that works.  I just didn't want to create any licensing mayhem off the bat, especially for a trivial class.]

TEST=unittests, manual testing on virtualbox and physical hardware with dm-verity and dm-boot code
BUG=327

Review URL: http://codereview.chromium.org/1687008
49 files changed