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
I don't know about the rest of you but I don't like the "boolean parameter pattern" at all. It makes the code complicated to read (e.g. who knows what the last parameter does in `Bla("localhost", 80, true)`?) and is generally a sign that something should be refactored (especially if you have to introduce the same variable in multiple methods).