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 
This can just be named `_`. It's a pseudo convention for private default constructors.