More yeoman changes

 - Omit extra properties from json files
 - Fix `name` in the root `package.json`
 - Fix serialization of component models
 - Move restApiRoot from api-server to server
 - Omit json config files in the root component
 - templates: clean up + upgrade to loopback-boot 2.0
 - Mark all `componentName` properties as required.
 - Implement Workspace.isValidDir

/to @ritch please review
Check the error code to ensure it is a parser error. Otherwise the error might be confusing (eg. too many fds open, permissions, ENOENT, etc).