Separated various levels of protocol out.

Specifically:
* HTTPU
* SSDP
* UPNP

Also now supports multiple discoveries from a search.