UPnP: Construct the supported protocolInfo lists from the list of support mimetypes

This reduces the number of places that we need to maintain the list of
supported formats.

TODO Instead of hard-coding http-get, have it pull in a list of
supported protocols as well.
UPnP: Have the UPnP server use ServerPool::DefaultListen()

Instead of duplicating the listen address code, re-use the newer QT
based code which is actively maintained.

There are two major differences between the old and new:
* DefaultListen() returns the loopback address and GetIPAddresses()
did not. I don't yet know if this will cause a problem or whether it's
'legal' for UPnP.
* DefaultListen() properly supports IPv6 addresses. This hasn't be
tested, and I'd be surprised if everything just works. Testing by
those using IPv6 would be appreciated as I'm not in a position to do
it myself.

Const fixes and remove the dead code.
UPnP: Prevent m_pHttpServer being set to itself in MediaServer::Init()