Aliases support allows device names to be set in the config file
which map to a hostname/port in the config file.
For automation services such as LAVA, these aliases can match the
device name to make pdudeamon calls a little shorter, and device
configuration easier to maintain.
At the same time, improve the testing scripts to test the http and
also extract a lot of the shared listener code in a separate module
so TCP and HTTP listeners parse the requests with the same code.
Aliases are not supported when using the TCP listener/client, sorry.