Close #11: Validate permissions

* Validate `permissions`

* Support for `patternPermissions` schema

* Rework how `additionalProperties` is handled

* Use "Item" instead of a number for consistent error keys resulting from arrays

* Tests