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

Close #34
The isn't a good error code for JSON parsing errors AFAICT.

Perhaps it is enough to change the message to `'Cannot load ' + configFile.path + ...`?