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.
Tweaked prohibitedKeys to map[string]bool, removed gopkg dep
Tweaked naming to be more accurate for temp ActionSpec.
Merge pull request #4 from binary132/actions-validate

Action-Schema JSON validation
Added Hook Kind "ActionRequested" to charm hooks
Merge pull request #5 from binary132/action-hook

Added Hook Kind "ActionRequested" to charm hooks
Allow top level charm dir to be symlinked
Use EvalSymlinks api call
Merge pull request #6 from wallyworld/handle-symlinked-charm-dirs

Allow top level charm dir to be symlinked