Couple OSType to Image and cleanup DeploymentParams

DeploymentParams oddly had a name member, which made it senseless to use as a template ("knowing name is unique"). This sorts that out and also cleans up the input value type, retaining the Builder until we figure something better to do about that.

This also nests OSType into Image as looking at the docs, that's the canonical place for it. Plus, it doesn't need to be defensive as it is only used to part waters between windows config and linux style. In other words, it is not a brittle enum. Hence, we don't need to clutter the experience with OSType.UNRECOGNIZED.

The combination of these two changes leave the top-level namespace of the domain objects in pretty good shape. That said, a follow-up PR will clean up ImageParams as that requires some thinking.
For Unix below, `HostName` maps to `name` - `username` is correct for `ComputerName` here?