Add Kconfig as configuration subsystem

This commit adds a rudimentary support for Kconfig -- Linux kernel
configuration subsystem. This addition allows to support multiple
microcontrollers with different flash and RAM parameters.

This commit also includes the support for F107 an F103
microcontrollers with 256 and 128 KB of flash memory respectively.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Add CRC checking of microboot

This commit add subroutines and code to perform CRC calculation of
microboot. During both generation of the carveout and during
nanoboot's execution. This should allow for detection of failed
bootloader updates.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Add CRC checking for milliboot

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Use ARRAY_SIZE to calculate the size of an array

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>