wake on access - upnp support (v2)

This pr adds support for waking upnp-servers and replaces PR https://github.com/xbmc/xbmc/pull/4104

ref this post and onwards : http://forum.xbmc.org/showthread.php?tid=124340&pid=1611088#pid1611088
and : http://trac.xbmc.org/ticket/14880

Should work fine also for upnp-servers hosted on machines with DHCP assigned ipaddresses since alive-test ('ping') now is done by probing availability of the upnp-server rather than actual ping
You're not limited to comparing with other objects of the same type, you can just as well add a comparison operator overload that takes a `const std::string &uuid` as argument.