stbt-power: Use the HTTP interface of PDUeX units

The PDUeX KWX device provides three interfaces:
- SSH: The one used so far; very slow (it takes up to 20 seconds to
  execute a command) and we are experiencing PDU lock-ups during high
  load.
- Telnet: It's fast, but doesn't accept multiple simultaneous client
  connections.
- HTTP: Fast and handles concurrency.

Considering the above mentioned pros and cons, it's worth switching
to HTTP.

USER INTERFACE

This commit changes the output format:
- 'on' and 'off' commands don't output anything unless there is an error;
- 'status' only prints "ON" or "OFF" if the individual power outlet is
  specified;
- or "<outlet>: ON|OFF" with the status of one outlet per output line if
  all outlets are queried.

TESTING

Stress-tested the PDU with 8 simultaneous HTTP requests sent every ~10
seconds for 64 hours. Out of ~300000 requests 104 failed, that is,
~0.04 % of all HTTP requests. The device did not lock up.

A possible workaround for skipped requests is to call `stbt power on`
and `stbt power off` twice in critical scripts. It makes no harm to
execute an 'on' or 'off' command on a switch already turned on or off,
and it reduces the probability of a failed command to virtually zero.

Measuring execution time showed that the PDU requires up to 1
second per outlet to execute a command, i.e.  the status of the
outlet changes within 1 second if 1 command is sent, but it may
take 8 seconds if 8 simultaneous commands are sent.

IMPLEMENTATION

As the PDU doesn't send response to 'on'/'off' requests, the status of
the outlet is queried to verify the outcome of a command. To save time,
status requests are sent every second up to 8 times; after 8 seconds
`stbt power` exits with status code 1.

I experienced an interesting issue that if a command is sent after the
PDU had been idle for minutes, the first request always fails with
authorization error "this object on the KWX PDU is protected". The
subsequent requests pass. To work around this behaviour, a dummy status
request precedes every other command.

It is assumed that an individual outlet address is always in the format
'1-An' where 'n' is the number of the individual power outlet in the
range 1 <= n <= 8. We need to have this assumption because 'on' and 'off'
HTTP requests don't include the outlet address, only the outlet number.

It is also assumed that the default user name and password 'admin:admin'
haven't been changed on the PDU unit.

To keep implementation simple, querying the status of all individual
outlets sends 8 identical requests. Even though a single response
includes the status of all outlets, I'd find it acceptable in favour
of less code as this is a seldom used command: we always specify an
individual outlet.