Change components and versions properties to objects in site manifest and add manifest schema
Change the components and versions properties from arrays to objects in the site manifest, as proposed in #2. In order to validate this change, introduce a JSON schema for a manifest and use it to validate that the code produces a valid data file.