More app manifest validator rules

* Rules are now partially checked based on a simple schema definition.
* Implement rules for a few top level manifest properties: sockets, permissions, manifest_version, app.
* The "manifest.json" file of the IDE app validates without any warnings.

@devoncarew 
Is `propertyName` being null a runtime error or a validation time error?