When uri_apply_base() was moved from db/upnp/Util.cpp to
util/UriUtil.cpp, the parameter order was changed, however without
swapping the parameters in the ContentDirectoryService constructor.
Eliminate class LibUPnP and move the code to ClientInit.cxx. Its
initialization function can be called multiple times, but
UpnpRegisterClient() is called at most once.
Each Upnp*Async() call passes a new cookie pointer, and the cookie
passed to UpnpRegisterClient() appears to be ignored. Using this
interface is a more elegant approach than having one single "handler"
function.