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.

Additionally, the charm cleanse() function will now reject schemas containing $ref and $schema keys:
 - These keys typically cause HTTP GET's on remote schemas, which we want to avoid.
 - They are also known to have a potential non-terminated recursion in the current version of http://github.com/binary132/gojsonschema.