pmb: Split devices by category during codename selection and warn if downstream is selected
This also reworks list_codenames() somewhat. The option to show archived devices is removed as it never actually was used. It should be easy to restore if someone is interested.
Please provide feedback on the explanation strings inside of DeviceCategory.explain()
. They could probably be improved.