Allow a Provider with a known facade its own schema

Allow a TemplateResource behind the facade of a known plugin to supply a
different schema to the facade resource. However, check during validation
that the two are basically compatible. The provider template must:

- Define parameters for all *required* properties of the facade.
- Define parameters that map to the same types as the facade properties.
- Not have *required* parameters that do not exist in the facade.
- Define outputs for all attributes of the facade.

Change-Id: Ie40ecbb43d3d6749266f2cb6d723c8537fcc23dd
Merge "Allow a Provider with a known facade its own schema"