zephyr modules: add 'snippet_root' support to module.yml

This key may appear in a module.yml's 'settings' map, and works
analogously to the already existing 'board_root', 'dts_root', etc.
keys: if set, its value is interpreted as a directory that will be
added to SNIPPET ROOT.

For example, if a module.yml contains:

  settings:
    snippet_root: foo

Then 'foo', relative to the module's base directory, will be added to
SNIPPET_ROOT. This then means that any snippets in foo/snippets will
be discovered by the build system.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
diff --git a/scripts/zephyr_module.py b/scripts/zephyr_module.py
index e0cf18d..eb5c0eb 100755
--- a/scripts/zephyr_module.py
+++ b/scripts/zephyr_module.py
@@ -86,6 +86,9 @@
           dts_root:
             required: false
             type: str
+          snippet_root:
+            required: false
+            type: str
           soc_root:
             required: false
             type: str
@@ -270,7 +273,7 @@
     out_text = ""
 
     if build_settings is not None:
-        for root in ['board', 'dts', 'soc', 'arch', 'module_ext', 'sca']:
+        for root in ['board', 'dts', 'snippet', 'soc', 'arch', 'module_ext', 'sca']:
             setting = build_settings.get(root+'_root', None)
             if setting is not None:
                 root_path = PurePath(module) / setting