🔥 Breaking changes
* Major update with some breaking changes. Some of the main features are:
* General clean-up, typing, linting, etc.
* A few changes to how outlets are resolved depending on whether the name or the port are provided.
* Some clean-up of the `DLI` and `DLIPowerSwitch` classes (new names). Nothing very major except that now if `ouo=False` in the configuration file, the port information is read directly from the API. This means that the outlet name is not `XXX.portN` anymore but whatever name is defined in the switch internal configuration. The default configuration for the LVM DLI switches does not specify the outlets anymore and instead reads them directly from the device.
* Converted the switches list in `NPSActor.parser_args` to a dictionary.
* For the `status`, `on` and `off` commands, changed the options and arguments. Now for `status` one can provide no arguments (all outlets are printed, as before), the switch name, the switch and port numbers, or the outlet to print.
* Removed the `reachable` command group since it was confusing. Instead, added `outlets` and `switches` commands that output the same as `reachable outlets` and `reachable switches`.
* Refactored the test fixtures a bit and increased test coverage to 85%-ish.
* Changed documentation theme and cleaned up documentation a bit.