schema: introduce element

Introduce a new sub schema "EMExposesElement" that enables stricter
validation of Exposes entry elements.  The existing aggregate subschema
checks element properties but cannot check that specific combinations of
properties are allowed in the same element.  Require that each element
have at a minimum a Type and Name property.

Add documentation that describes an overview and best practices when
adding new schema.

Change-Id: If0a11ac9acde8e574070cccd9bf8d017b6c8e3b1
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/schemas/legacy.json b/schemas/legacy.json
index f3204be..69d7a19 100644
--- a/schemas/legacy.json
+++ b/schemas/legacy.json
@@ -2,6 +2,11 @@
     "$schema": "http://json-schema.org/draft-07/schema#",
     "definitions": {
         "Aggregate": {
+            "description": [
+                "Don't add additional properties to this schema.  Consult ",
+                "README.schema for instructions on adding new Exposes element ",
+                "sub-schema."
+            ],
             "additionalProperties": false,
             "properties": {
                 "Address": {