serial_recovery: Replace CBOR decoding code with generated code

 - Add the cddl_gen repository as a submodule.
 - Add a CDDL description file for the serial recovery packets to be
   decoded.
 - Add generated code files and cddl_gen's CBOR library to CMakeList.txt
   for Zephyr.
 - Convert boot_serial.c to use the new code.
 - Add a bash script to (re)generate code files using cddl_gen.py.

Serial recovery should work exactly as before, but the binary should be
about 1k smaller.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
diff --git a/boot/boot_serial/src/serial_recovery.cddl b/boot/boot_serial/src/serial_recovery.cddl
new file mode 100644
index 0000000..9aae63c
--- /dev/null
+++ b/boot/boot_serial/src/serial_recovery.cddl
@@ -0,0 +1,15 @@
+;
+; Copyright (c) 2020 Nordic Semiconductor ASA
+;
+; SPDX-License-Identifier: Apache-2.0
+;
+
+Member = ("image" => int) /
+	("data" => bstr) /
+	("len" => int) /
+	("off" => int) /
+	("sha" => bstr)
+
+Upload = {
+	3**5members: Member
+}