imgtool: Add CBOR encoded boot record to TLV area

Add new '--boot-record' option for imgtool to add a new type of TLV to
the image manifest called BOOT_RECORD. This TLV contains CBOR encoded
data with some basic information about the image (SW component) it
belongs to, these are the following:
- SW type (role of the software component)
- SW version
- Signer ID (identifies the signing authority)
- Measurement value (hash of the image)
- Measurement type (algorithm used to calculate the measurement value)

The boot_record.py file and most of the modifications in image.py are
coming from the Trusted Firmware-M project
(https://www.trustedfirmware.org/about/).
Hash of the source commit: 08d5572b4bcee306d8cf709c2200359a22d5b72c.

This patch is based on the recommendations of Arm's Platform Security
Architecture (PSA) and its purpose is to support compliance with it.

Change-Id: I379ccc57b48ad2311837cb3fd90f5f9d1c9b5bac
Signed-off-by: David Vincze <david.vincze@linaro.org>
diff --git a/scripts/setup.py b/scripts/setup.py
index 2789094..058d0cb 100644
--- a/scripts/setup.py
+++ b/scripts/setup.py
@@ -10,10 +10,12 @@
     license="Apache Software License",
     url="http://github.com/JuulLabs-OSS/mcuboot",
     packages=setuptools.find_packages(),
+    python_requires='>=3.6',
     install_requires=[
         'cryptography>=2.4.2',
         'intelhex>=2.2.1',
         'click',
+        'cbor>=1.0.0',
     ],
     entry_points={
         "console_scripts": ["imgtool=imgtool.main:imgtool"]