Mandate the presence of mcuboot_config/mcuboot_config.h

Mynewt uses this file to convert MYNEWT_VAL(xxx) to MCUBOOT_xxx config
options. Zephyr currently adds config options via the compiler command
line, but it should use this instead.

As prep work for that conversion, add an empty mcuboot_config.h to the
Zephyr port, and include this file unconditionally wherever it's
needed. This takes care of the simulator as well, since that puts
boot/zephyr/include on its C file include path.

This turned up a couple of files (bootutil_priv.h and caps.c) that
were using the MCUBOOT_xxx config values without including the
file. Add the includes there, as they'll be needed later.

To make this official, add it to the requirements in the porting guide
and provide a template file porters can use while getting started.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>

fixup! Mandate the presence of mcuboot_config/mcuboot_config.h
diff --git a/docs/PORTING.md b/docs/PORTING.md
index d40bb3d..b870bdc 100644
--- a/docs/PORTING.md
+++ b/docs/PORTING.md
@@ -5,6 +5,10 @@
 
 # Requirements
 
+* `mcuboot` requires a configuration file, which can be included as
+   mcuboot_config/mcuboot_config.h, which configures various options
+   (that begin with MCUBOOT_).
+
 * `mcuboot` requires that the target provides a `flash` API with ability to
   get the flash's minimum write size, and read/write/erase individual sectors.
 
@@ -46,6 +50,23 @@
 an initialized `boot_rsp` which has pointers to the location of the image
 where the target firmware is located which can be used to jump to.
 
+## Configuration file
+
+You must provide a file, mcuboot_config/mcuboot_config.h. This is
+included by several files in the "library" portion of MCUboot; it
+provides preprocessor definitions that configure the library's
+build.
+
+See the file samples/mcuboot_config/mcuboot_config.template.h for a
+starting point and more information. This is a good place to convert
+settings in your environment's configuration system to those required
+by MCUboot. For example, Mynewt uses MYNEWT_VAL() and Zephyr uses
+Kconfig; these configuration systems are converted to MCUBOOT_ options
+in the following files:
+
+- boot/zephyr/include/mcuboot_config/mcuboot_config.h
+- boot/mynewt/mcuboot_config/include/mcuboot_config/mcuboot_config.h
+
 ## Flash access and flash Map
 
 * Regarding flash access the bootloader has two requirements: