Clean up...
Followed a few NetBeans hints;
Made the jar accept arguments about the output file, the hostname, the username and the password;
Changed JSON's "description" to "summary", as that's what this is;
Changed JSON's "optional" in argument descriptions to "unnamed" to better reflect what it really is;
Added schema.json to describe the JSON dialect;
Removed MenuItem.level and refactorted its uses to check parent;
Refactored the models so that the name and parent are required at construction (except for MenuItem, where there may be no parent);
Removed the association of System.in and System.out to jsch, allowing termination without a key press at the end.