Issue #1: Validate developer properties

* Validate developer as object

* Validate developer.name as string

* Validate developer.url as URL

* Rework schema validation to be recursive
Issue #1: Tweaks
Issue #3: Validate installs_allowed_from