Action-Schema JSON validation

charm.ActionSpec now has a ValidateParams method which accepts an
unmarshaled JSON document, and validates it.  If it is valid, the
method returns true; otherwise, it returns false and a list of
errors returned by gojsonschema.

WIP, opened PR for comments
what type does results.Errors() return ? What happens if you just do

fmt.Errorf("JSON validation failed: %s", results.Errors())