Here is what I came up with so far for the interaction of os and installer plugins.

- based on what we discussed info for used installers and installer priority
   can come from user config > os plugin > installer plugin
 - the InstallerContext manages the selected os and selects the configured installers.

@wjwwood as basis for discussion later
I forgot to reply here: What I meant above is if it makes sense for an OS plugin to specify a default_installer, but not a priority for that installer. The idea with the dict of priorities for installers, which an OS plugin defines, is also used to determine the list of installers applicable to that OS (but this list can be expanded by the installer plugins as well, see `InstallerContext.setup_installers`). I don't think it makes sense.

`pip` would be an `Installer` for which `get_priority_for_os` returns a priority for every `os_name`, and thereby it registers itself to be applicable to every OS, regardless of what the OS plugin says about it.