[cml] Add CM and CML schemas

This change adds JSON schemas for CML, the "component manifest
language", and CM, the "binary" component manifest format. CM and CML
are complementary languages to express v2 component manifests. CML is
what humans use to read and write component manifests, while CM is the
format to store a component manifest at rest and is what gets shipped
with a package. CM has a direct one-to-to mapping onto the FIDL
representation.

This change also updates the cmx validator to work with CM and CMl
files. We don't support any post-validation yet, only validation through
the schema.

CF-154 #comment component manifest schemas

TESTED=validate.rs unit tests

Change-Id: Ic22ae05ef0b5c0fbedbbcae8c069b0f6aad458f0
5 files changed