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 
It looks like you could save some repetition by defining a `_validate(String contents, List<String> errorIds)` method.