cros_bundle_firmware: Checksum the payload before and after sending
cros_bundle_firmware: Checksum the payload before and after sending

At present the checksum is displayed for the user but there is no actual
check that it is correct.

Calculate the checksum, send it with the payload and check it in the
flasher script. Then display a failure and refuse to continue when the
data has been corrupted by the download or other code.

BUG=chromium-os:19724
TEST=manual:
cros_bundle_firmware on exynos
- See a checksum failure message on the U-Boot console
Firmware loaded to 0x43e3f000, size 0x3a661, length 0x3b000
CRC32 for 43e3f000 ... 43e79660 ==> 04c9b186 != 5e18c807 ** ERROR **

** Checksum error on load: please check download tool **

Create a file with all zeros (zero.bin)
cros_write_firmware -w usb -i zero.bin -b daisy
  -d board/samsung/dts/exynos5250-daisy.dts -I arch/arm/dts -I cros/dts
  -U u-boot.bin
- See that it succeeds

Change-Id: Id9384eb2b87753cef7a38f208a6395c3681a3d62
Reviewed-on: https://gerrit.chromium.org/gerrit/18866
Reviewed-by: Simon Glass <c00b0378376498bd9cd974c388df8854c0131d27@chromium.org>
Tested-by: Simon Glass <c00b0378376498bd9cd974c388df8854c0131d27@chromium.org>
Commit-Ready: Simon Glass <c00b0378376498bd9cd974c388df8854c0131d27@chromium.org>

coreos/dev-util,marineam/coreos-dev-util,mgireesh05/dev-util,coreos/dev-util,mgireesh05/dev-util,coreos/dev-util,marineam/coreos-dev-util,mgireesh05/dev-util