Merged the data model we use for m8s features with the features
that come from rynowak/opulence. The `ApplicationBuilder` type (and related
types) now capture all of the details we use for everything.
There's a lot of just moving stuff around in this change - the goal
is to have a separate data model for:
- The config we read
- The representation we mutate
- The data model used by Tye.Hosting
So in this PR there's a lot of righthand/lefthand.
- Separate 'Hosting.Model' from the YAML processing
- Introduce 'Config*' classes as YAML DTOs
- Refactor 'Hosting.Model' classes to be nullable-friendly
- Fix nullable warnings in M8s.Hosting
- Add support for registry from config
- Add application name to config
- Fix a bug with the wrong file-location used for tye.yaml
- Fix a bug with `tye deploy` at solution scope