schema/types: add ACName.Set()
discovery: do not set defaults for os and arch.

os and arch can be optional as there can be "noarch" (without machine dependent
code) aci.
discovery: Ignore templates that cannot be completely rendered due to missing labels.

If meta discovery template cannot be completely rendered due to missing labels
it should not be added to the list of available download uris.

Also create the template vars slice from all the available labels instead of
only some predefined ones (name, version, os, arch).
Merge pull request #69 from vcaputo/acnamesetter

schema/types: add ACName.Set()
Merge pull request #61 from sgotti/discoveryvalidtemplate

discovery: do not set defaults for os and arch and use only fully renderable meta templates.
schema/types: split out Exec to its own type

`App.Exec` parameters and `EventHandler.Exec` parameters should undergo
the same validation.