Rework Components into Facets

 - Rename `ComponentDefinition` to `Facet`. 
 - Rename `ComponentModel` to `ModelConfig`
 - Refactor templates and model definitions, so that model JSONs are in `common/models/*.json` instead of `models/*.json`
 - Decouple `PackageDefinition` from facets, there is only one `package.json` file per component now.
 - Move `config.json` data from `Facet` to `[FacetSetting]`.

The implementation assumes the facets will be nested in a `Component` in the future and that there may be multiple components in the same workspace. However, only one root component is supported at the moment.

```
<root component>
  common/          # Facet
  server/              # Facet
  package.json    # one per Component
```

The implementation is a bit rough, I hope there will be time to polish it the next week. What's important to the review is the (REST) API as that cannot be changed after 3.0 is released.

/to @ritch please review

Close #66
This is really weird... Would like to avoid this, but not a priority or required for this PR.