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
Is the only issue that we are generating an empty `config.json`?